ASP.NET Core設(shè)置URLs的方法匯總(完美解決.NET 6項(xiàng)目局域網(wǎng)IP地址遠(yuǎn)程無(wú)法訪(fǎng)問(wèn)的問(wèn)題)
ASP.NET Core設(shè)置URLs的幾種方法
近期在dotnet項(xiàng)目中遇到這樣的問(wèn)題:.net6 運(yùn)行以后無(wú)法通過(guò)局域網(wǎng)IP地址遠(yuǎn)程訪(fǎng)問(wèn)。后查閱官方文檔。整理出解決問(wèn)題的五種方式方法,通過(guò)新建一個(gè)新的WebApi項(xiàng)目演示如下:
說(shuō)明
操作系統(tǒng):Ubuntu 22.04.2
運(yùn)行時(shí):.NET 6
開(kāi)發(fā)工具:Visual Studio 2202
新建webapi
# 只需要以下名利即可創(chuàng)建新的webapi項(xiàng)目 dotnet new webapi -n test
直接運(yùn)行項(xiàng)目:dotnet run
此時(shí)通過(guò)遠(yuǎn)程IP + Post的方式無(wú)法正常訪(fǎng)問(wèn)
但是通過(guò):curl https://localhost:7150/swagger/Index.html -k 就可以訪(fǎng)問(wèn)(-k 是避開(kāi)ssl證書(shū),后期專(zhuān)門(mén)出一篇文章講一下)
部分截圖,但是可以看得出頁(yè)面已經(jīng)正常請(qǐng)求了。
接下來(lái)正式講解方法
方法一:使用環(huán)境變量(該方法可以設(shè)置url,但是不能解決遠(yuǎn)程訪(fǎng)問(wèn)的問(wèn)題,不推薦)
# 環(huán)境變量?jī)H在當(dāng)前終端生效,關(guān)閉終端后需要重新設(shè)置 export ASPNETCORE_URLS="http://localhost:9000;https://localhost:9001" # 運(yùn)行程序 dotnet test.dll
如果使用Windows命令行(即cmd命令行),使用下面的方式設(shè)置
# 環(huán)境變量?jī)H在當(dāng)前命令行窗口生效 set ASPNETCORE_URLS=http://localhost:7000;https://localhost:7010 # 將ASPNETCORE_URLS變量保存到用戶(hù)環(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 # 運(yùn)行程序 dotnet test.dll
注意:使用setx設(shè)置環(huán)境變量后,需要打開(kāi)新的Windows命令行窗口才會(huì)使用環(huán)境變量生效
方法二:使用命令行參數(shù)(可以設(shè)置url,也可以解決遠(yuǎn)程訪(fǎng)問(wèn)的問(wèn)題,但是啟動(dòng)的時(shí)候需要將url作為參數(shù)啟動(dòng),比較麻煩,不推薦)
在生成程序的根目錄下,使用dotnet --urls命令,并帶上urls參數(shù)
dotnet run --urls "https://192.168.11.82:9001;http://192.168.11.82:9000"
此時(shí)遠(yuǎn)程可以訪(fǎng)問(wèn):
為部分截圖
方法三:使用配置文件(即設(shè)置了url,也解決了遠(yuǎn)程訪(fǎng)問(wèn)的問(wèn)題。推薦)
在生成程序的根目錄下,打開(kāi)appsettings.json文件,添加url配置項(xiàng)
"urls":"htts://192.168.11.82:9001;http://192.168.11.82:9000"
方法四:使用UseUrls(一次設(shè)置,兩個(gè)問(wèn)題都解決,推薦)
這種方法需要修改源代碼,打開(kāi)Program.cs文件,添加如下代碼。
app.Urls.Add("https://0.0.0.0:9001"); app.Urls.Add("http://0.0.0.0:9000");
此時(shí)運(yùn)行
方法五:使用Kestrel(感興趣的小伙伴可以自己去研究一下)
到此這篇關(guān)于ASP.NET Core設(shè)置URLs的幾種方法,完美解決.NET 6項(xiàng)目局域網(wǎng)IP地址遠(yuǎn)程無(wú)法訪(fǎng)問(wèn)的問(wèn)題的文章就介紹到這了,更多相關(guān)ASP.NET Core設(shè)置URLs內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
Asp.Net Core輕松學(xué)習(xí)系列之配置文件
這篇文章主要給大家介紹了關(guān)于Asp.Net Core輕松學(xué)習(xí)系列之配置文件的相關(guān)資料,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2018-11-11ASP.NET Core啟動(dòng)地址配置方法及優(yōu)先級(jí)順序
這篇文章主要介紹了ASP.NET Core啟動(dòng)地址配置方法及優(yōu)先級(jí)順序,如果在同一臺(tái)機(jī)器上運(yùn)行多個(gè)ASP.NET Core實(shí)例,使用默認(rèn)值肯定不合適,下面我們一起進(jìn)入文章了解具體內(nèi)容吧2022-03-03ASP.Net中的async+await異步編程的實(shí)現(xiàn)
這篇文章主要介紹了ASP.Net中的async+await異步編程的實(shí)現(xiàn),文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2020-08-08防止.NET應(yīng)用多實(shí)例運(yùn)行的有效方法
在開(kāi)發(fā)桌面應(yīng)用程序時(shí),可能會(huì)遇到這樣一種需求:限制程序只能同時(shí)運(yùn)行一個(gè)實(shí)例,如果用戶(hù)試圖再次啟動(dòng)同一個(gè)程序,應(yīng)該將已經(jīng)運(yùn)行的程序窗口置于前臺(tái)而不是啟動(dòng)一個(gè)新實(shí)例,這篇文章提供了一種通過(guò)檢測(cè)當(dāng)前程序?qū)嵗⒓せ钜堰\(yùn)行實(shí)例的方法,需要的朋友可以參考下2024-12-12用.NET Core寫(xiě)爬蟲(chóng)爬取電影天堂
本文給大家詳細(xì)介紹了如何使用.NET Core寫(xiě)爬蟲(chóng)爬取電影天堂的方法和詳細(xì)步驟,非常的細(xì)致,有需要的小伙伴可以參考下2016-12-12ASP.NET Core中如何使用表達(dá)式樹(shù)創(chuàng)建URL詳解
這篇文章主要給大家介紹了關(guān)于ASP.NET Core中如何使用表達(dá)式樹(shù)創(chuàng)建URL的相關(guān)資料,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2018-10-10ASP.NET GridView 實(shí)現(xiàn)課程表顯示(動(dòng)態(tài)合并單元格)實(shí)現(xiàn)步驟
GridView,ASP.NET中很常用的數(shù)據(jù)顯示控件,這里,我將用這個(gè)控件來(lái)實(shí)現(xiàn)課程表的顯示。首先說(shuō)說(shuō)課程表的顯示與普通記錄的顯示有何不同?感興趣的朋友可以了解下,或許對(duì)你有所幫助2013-02-02asp.net 需要登陸的網(wǎng)站上下載網(wǎng)頁(yè)源代碼和文件
最近有個(gè)項(xiàng)目需要從網(wǎng)絡(luò)上下載網(wǎng)頁(yè)信息和文件,并且需要登錄后才能下載,所以做了個(gè)下載的通用類(lèi),供大家參考。2009-05-05