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

2024-03-01 0 740
目录
  • ASP.NET Core设置URLs的几种方法
  • 说明
  • 新建webapi
  • 接下来正式讲解方法
    • 方法一:使用环境变量(该方法可以设置url,但是不能解决远程访问的问题,不推荐)
    • 方法二:使用命令行参数(可以设置url,也可以解决远程访问的问题,但是启动的时候需要将url作为参数启动,比较麻烦,不推荐)
    • 方法三:使用配置文件(即设置了url,也解决了远程访问的问题。推荐)
    • 方法四:使用UseUrls(一次设置,两个问题都解决,推荐)
    • 方法五:使用Kestrel(感兴趣的小伙伴可以自己去研究一下)

ASP.NET Core设置URLs的几种方法

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

说明

操作系统:Ubuntu 22.04.2

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

运行时:.NET 6

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

开发工具:Visual Studio 2202

新建webapi

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

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

直接运行项目:dotnet run

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

此时通过远程IP + Post的方式无法正常访问

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

但是通过:curl https://localhost:7150/swagger/Index.html -k 就可以访问(-k 是避开ssl证书,后期专门出一篇文章讲一下)

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

部分截图,但是可以看得出页面已经正常请求了。

接下来正式讲解方法

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

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

# 环境变量仅在当前终端生效,关闭终端后需要重新设置
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\”

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

此时远程可以访问:

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

为部分截图

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

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

\”urls\”:\”htts://192.168.11.82:9001;http://192.168.11.82:9000\”

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

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

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

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

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

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

此时运行

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

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

到此这篇关于ASP.NET Core设置URLs的几种方法,完美解决.NET 6项目局域网IP地址远程无法访问的问题的文章就介绍到这了,更多相关ASP.NET Core设置URLs内容请搜索悠久资源网以前的文章或继续浏览下面的相关文章希望大家以后多多支持悠久资源网!

您可能感兴趣的文章:

  • ASP.NET Core设置URLs的五种方法
  • 详解ASP.NET Core中配置监听URLs的五种方式

收藏 (0) 打赏

感谢您的支持,我会继续努力的!

打开微信/支付宝扫一扫,即可进行扫码打赏哦,分享从这里开始,精彩与您同在
点赞 (0)

悠久资源 ASP.NET ASP.NET Core设置URLs的方法汇总(完美解决.NET 6项目局域网IP地址远程无法访问的问题) https://www.u-9.cn/biancheng/aspnet/181804.html

常见问题

相关文章

发表评论
暂无评论
官方客服团队

为您解决烦忧 - 24小时在线 专业服务