首页 > 编程语言 >ASP.NET Core设置URLs的几种方法,完美解决.NET 6项目局域网IP地址远程无法访问的问题

ASP.NET Core设置URLs的几种方法,完美解决.NET 6项目局域网IP地址远程无法访问的问题

时间:2023-04-18 10:23:38浏览次数:36  
标签:Core http 无法访问 ASPNETCORE https dotnet NET 环境变量 localhost

近期在dotnet项目中遇到这样的问题:.net6 运行以后无法通过局域网IP地址远程访问。后查阅官方文档。整理出解决问题的五种方式方法,通过新建一个新的WebApi项目演示如下:

说明

操作系统:Ubuntu 22.04.2
在这里插入图片描述

运行时:.NET 6
在这里插入图片描述

开发工具:Visual Studio 2202

新建webapi

在这里插入图片描述

# 只需要以下名利即可创建新的webapi项目
dotnet new webapi -n test

直接运行项目:dotnet run
在这里插入图片描述
此时通过远程IP + Post的方式无法正常访问
在这里插入图片描述
但是通过:curl https://localhost:7150/swagger/Index.html -k 就可以访问(-k 是避开ssl证书,后期专门出一篇文章讲一下)

在这里插入图片描述部分截图,但是可以看得出页面已经正常请求了。

接下来正式讲解方法

方法一:使用环境变量(该方法可以设置url,但是不能解决远程访问的问题,不推荐)

在这里插入图片描述

# 环境变量仅在当前终端生效,关闭终端后需要重新设置
export ASPNETCORE_URLS="http://localhost:9000;https://localhost:9001"
# 运行程序
dotnet test.dll

如果使用Windows命令行(即cmd命令行),使用下面的方式设置

# 环境变量仅在当前命令行窗口生效
set ASPNETCORE_URLS=http://localhost:7000;https://localhost:7010
# 将ASPNETCORE_URLS变量保存到用户环境变量中
setx ASPNETCORE_URLS "http://localhost:7000;https://localhost:7010"
# 加/m参数,将ASPNETCORE_URLS变量保存到系统环境变量中
setx ASPNETCORE_URLS "http://localhost:7000;https://localhost:7010" /m
# 运行程序
dotnet test.dll

注意:使用setx设置环境变量后,需要打开新的Windows命令行窗口才会使用环境变量生效

方法二:使用命令行参数(可以设置url,也可以解决远程访问的问题,但是启动的时候需要将url作为参数启动,比较麻烦,不推荐)

在生成程序的根目录下,使用dotnet --urls命令,并带上urls参数

dotnet run --urls "https://192.168.11.82:9001;http://192.168.11.82:9000"

在这里插入图片描述
此时远程可以访问:
在这里插入图片描述为部分截图

方法三:使用配置文件(即设置了url,也解决了远程访问的问题。推荐)

在生成程序的根目录下,打开appsettings.json文件,添加url配置项

"urls":"htts://192.168.11.82:9001;http://192.168.11.82:9000"

在这里插入图片描述
在这里插入图片描述

方法四:使用UseUrls(一次设置,两个问题都解决,推荐)

这种方法需要修改源代码,打开Program.cs文件,添加如下代码。

app.Urls.Add("https://0.0.0.0:9001");
app.Urls.Add("http://0.0.0.0:9000");

在这里插入图片描述
此时运行
在这里插入图片描述

方法五:使用Kestrel(感兴趣的小伙伴可以自己去研究一下)

今天的内容就到这里,不足之处请大家指正。

标签:Core,http,无法访问,ASPNETCORE,https,dotnet,NET,环境变量,localhost
From: https://www.cnblogs.com/lym003/p/17328632.html

相关文章

  • asp.net core系列 26 EF模型配置(实体关系)
    一.概述EF实体关系定义了两个实体互相关联起来(主体实体和依赖实体的关系,对应数据库中主表和子表关系)。 在关系型数据库中,这种表示是通过外键约束来体现。本篇主要讲一对多的关系。先了解下描述关系的术语。(1)依赖实体: 这是包含外键属性的实体(子表)。有时称为ch......
  • Kubernetes 集群 Pod 资源启动命令(六)
    启动命令编写配置文件创建pod_command.yaml文件,并编写如下内容,即在容器启动之后,向、opt/text.txt文件写入时间戳,执行命令主要通过command字段传入,类型为列表格式#编写yamlapiVersion:v1kind:Namespacemetadata:name:dev---apiVersion:v1kind:Podmetadata:......
  • 2023成都.NET线下技术沙龙圆满结束
    2023年4月15日周六,由MASA技术团队和成都.NET俱乐部共同主办的2023年成都.NET线下技术沙龙活动在成都市世纪城新会展中心知域空间举行,共计报名人数90多人,实际到场60多人,13:30~18:00四个半小时的现场交流氛围极好,到场的童鞋也满载而归,我们看到了成都.NET社区小伙伴的激情,也让我们更......
  • inno setup 提前安装外围程序,比如.net framework
    [Files]Source:..\framework.exe;DestDir:{tmp};Flags:dontcopy[code]functionInitializeSetup():Boolean;varPath:string;ResultCode:Integer;beginExtractTemporary......
  • 支持win8 x32和x64的抓包软件Microsoft Network Monitor
    win8系统中N多常用软件水土不服,其中包括工作中常用的抓包神器wireshark,wireshark在win8系统驱动加载失败不能获取网卡不能抓包。搜索资料库MicrosoftNetworkMonitor脱颖而出,MicrosoftNetworkMonitor支持TCP/Ip、UDP等底层协议的捕获抓包,并且有包过滤功能方便分析。Micros......
  • ASP.NET Core MVC 从入门到精通之布局
    随着技术的发展,ASP.NETCoreMVC也推出了好长时间,经过不断的版本更新迭代,已经越来越完善,本系列文章主要讲解ASP.NETCoreMVC开发B/S系统过程中所涉及到的相关内容,适用于初学者,在校毕业生,或其他想从事ASP.NETCoreMVC系统开发的人员。 经过前几篇文章的讲解,初步了解ASP.NETCor......
  • in pyvis I always get this error: "AttributeError: 'NoneType' object has no attr
    inpyvisIalwaysgetthiserror:"AttributeError:'NoneType'objecthasnoattribute'render'"SolutionWheninitializingtheNetwork,Iaddednotebook=True,thisfixedtheissueforme.Thenewcodeis:frompyvisimportne......
  • NetworkX
    find_cyclevssimple_cyclesinnetworkxfind_cycleandsimple_cyclesaretwofunctionsprovidedbythenetworkxlibraryinPythonforfindingcyclesinagraph.find_cycleisafunctionthatfindsacycleinadirectedgraph.Itreturnsalistofnodes......
  • .net6 在中标麒麟下的安装
    尝试了下.net6在信创环境下的安装和部署信创服务器,CPU:ARM64,操作系统:中标麒麟v10,网络环境:政务网(无法连接外网)1、下载.net6SDK6.0.408Arm64二进制文件。https://dotnet.microsoft.com/zh-cn/download/dotnet/6.02、在服务器/home目录下创建两个新目录,test和dotnet;3、上......
  • VS2022支持.Net4.0到4.8之前的方法
    1、在单独装VS2022的情况下(没有安装VS2019/2017...的情况下),打开ji代码报错2、报错原因:VS2022不在包含.netframework4系列版本。3、解决方法:拷贝对应版本的目录到 C:\ProgramFiles(x86)\ReferenceAssemblies\Microsoft\Framework\.NETFramework ......