ASP.NET Core設(shè)置URLs的方法匯總(完美解決.NET 6項目局域網(wǎng)IP地址遠(yuǎn)程無法訪問的問題)
ASP.NET Core設(shè)置URLs的幾種方法
近期在dotnet項目中遇到這樣的問題:.net6 運行以后無法通過局域網(wǎng)IP地址遠(yuǎn)程訪問。后查閱官方文檔。整理出解決問題的五種方式方法,通過新建一個新的WebApi項目演示如下:
說明
操作系統(tǒng):Ubuntu 22.04.2

運行時:.NET 6

開發(fā)工具:Visual Studio 2202
新建webapi

# 只需要以下名利即可創(chuàng)建新的webapi項目 dotnet new webapi -n test
直接運行項目:dotnet run

此時通過遠(yuǎn)程IP + Post的方式無法正常訪問

但是通過:curl https://localhost:7150/swagger/Index.html -k 就可以訪問(-k 是避開ssl證書,后期專門出一篇文章講一下)

部分截圖,但是可以看得出頁面已經(jīng)正常請求了。
接下來正式講解方法
方法一:使用環(huán)境變量(該方法可以設(shè)置url,但是不能解決遠(yuǎn)程訪問的問題,不推薦)

# 環(huán)境變量僅在當(dāng)前終端生效,關(guān)閉終端后需要重新設(shè)置 export ASPNETCORE_URLS="http://localhost:9000;https://localhost:9001" # 運行程序 dotnet test.dll
如果使用Windows命令行(即cmd命令行),使用下面的方式設(shè)置
# 環(huán)境變量僅在當(dāng)前命令行窗口生效 set ASPNETCORE_URLS=http://localhost:7000;https://localhost:7010 # 將ASPNETCORE_URLS變量保存到用戶環(huán)境變量中 setx ASPNETCORE_URLS "http://localhost:7000;https://localhost:7010" # 加/m參數(shù),將ASPNETCORE_URLS變量保存到系統(tǒng)環(huán)境變量中 setx ASPNETCORE_URLS "http://localhost:7000;https://localhost:7010" /m # 運行程序 dotnet test.dll
注意:使用setx設(shè)置環(huán)境變量后,需要打開新的Windows命令行窗口才會使用環(huán)境變量生效
方法二:使用命令行參數(shù)(可以設(shè)置url,也可以解決遠(yuǎn)程訪問的問題,但是啟動的時候需要將url作為參數(shù)啟動,比較麻煩,不推薦)
在生成程序的根目錄下,使用dotnet --urls命令,并帶上urls參數(shù)
dotnet run --urls "https://192.168.11.82:9001;http://192.168.11.82:9000"

此時遠(yuǎn)程可以訪問:

為部分截圖
方法三:使用配置文件(即設(shè)置了url,也解決了遠(yuǎn)程訪問的問題。推薦)
在生成程序的根目錄下,打開appsettings.json文件,添加url配置項
"urls":"htts://192.168.11.82:9001;http://192.168.11.82:9000"


方法四:使用UseUrls(一次設(shè)置,兩個問題都解決,推薦)
這種方法需要修改源代碼,打開Program.cs文件,添加如下代碼。
app.Urls.Add("https://0.0.0.0:9001");
app.Urls.Add("http://0.0.0.0:9000");
此時運行

方法五:使用Kestrel(感興趣的小伙伴可以自己去研究一下)
到此這篇關(guān)于ASP.NET Core設(shè)置URLs的幾種方法,完美解決.NET 6項目局域網(wǎng)IP地址遠(yuǎn)程無法訪問的問題的文章就介紹到這了,更多相關(guān)ASP.NET Core設(shè)置URLs內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
Asp.Net Core輕松學(xué)習(xí)系列之配置文件
這篇文章主要給大家介紹了關(guān)于Asp.Net Core輕松學(xué)習(xí)系列之配置文件的相關(guān)資料,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2018-11-11
ASP.NET Core啟動地址配置方法及優(yōu)先級順序
這篇文章主要介紹了ASP.NET Core啟動地址配置方法及優(yōu)先級順序,如果在同一臺機(jī)器上運行多個ASP.NET Core實例,使用默認(rèn)值肯定不合適,下面我們一起進(jìn)入文章了解具體內(nèi)容吧2022-03-03
ASP.Net中的async+await異步編程的實現(xiàn)
這篇文章主要介紹了ASP.Net中的async+await異步編程的實現(xiàn),文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2020-08-08
ASP.NET Core中如何使用表達(dá)式樹創(chuàng)建URL詳解
這篇文章主要給大家介紹了關(guān)于ASP.NET Core中如何使用表達(dá)式樹創(chuàng)建URL的相關(guān)資料,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2018-10-10
ASP.NET GridView 實現(xiàn)課程表顯示(動態(tài)合并單元格)實現(xiàn)步驟
GridView,ASP.NET中很常用的數(shù)據(jù)顯示控件,這里,我將用這個控件來實現(xiàn)課程表的顯示。首先說說課程表的顯示與普通記錄的顯示有何不同?感興趣的朋友可以了解下,或許對你有所幫助2013-02-02
asp.net 需要登陸的網(wǎng)站上下載網(wǎng)頁源代碼和文件
最近有個項目需要從網(wǎng)絡(luò)上下載網(wǎng)頁信息和文件,并且需要登錄后才能下載,所以做了個下載的通用類,供大家參考。2009-05-05

