溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶(hù)服務(wù)條款》

C# Web應(yīng)用調(diào)試開(kāi)啟外部訪(fǎng)問(wèn)

發(fā)布時(shí)間:2020-07-31 21:00:25 來(lái)源:網(wǎng)絡(luò) 閱讀:416 作者:26度出太陽(yáng) 欄目:網(wǎng)絡(luò)安全

在用C#開(kāi)發(fā)Web應(yīng)用時(shí)有個(gè)痛點(diǎn),就是本機(jī)用VS開(kāi)啟Web應(yīng)用調(diào)試時(shí)外部機(jī)器無(wú)法訪(fǎng)問(wèn)此Web應(yīng)用。這里將會(huì)介紹如何通過(guò)設(shè)置允許局域網(wǎng)和外網(wǎng)機(jī)器訪(fǎng)問(wèn)本機(jī)的Web應(yīng)用。

目錄

1. 設(shè)置內(nèi)網(wǎng)訪(fǎng)問(wèn)

2. 設(shè)置外網(wǎng)訪(fǎng)問(wèn)

 

1. 設(shè)置內(nèi)網(wǎng)訪(fǎng)問(wèn)

在設(shè)置之前,本機(jī)環(huán)境如下:

操作系統(tǒng):win7

IDE:Visual Studio 2010

應(yīng)用:ASP.net

想要實(shí)現(xiàn)局域網(wǎng)內(nèi)其他機(jī)器訪(fǎng)問(wèn)本機(jī)web應(yīng)用包含以下4步:

 

第一步:設(shè)置啟動(dòng)方式為IIS Express

Visual Studio 運(yùn)行Web應(yīng)用時(shí),默認(rèn)采用自身的Visual Studio開(kāi)發(fā)服務(wù)器。所以先要把項(xiàng)目改為用 IIS Web服務(wù)器。

首先確保機(jī)器已經(jīng)裝了IIS Express,下載地址(10.0版本):https://www.microsoft.com/zh-CN/download/details.aspx?id=48264

步驟:右鍵Web項(xiàng)目 → 屬性 → Web選項(xiàng)卡 → 勾選使用本地IIS Web 服務(wù)器 → 設(shè)置端口并點(diǎn)擊【創(chuàng)建虛擬目錄】按鈕

C# Web應(yīng)用調(diào)試開(kāi)啟外部訪(fǎng)問(wèn)

 

第二步:設(shè)置IIS Express的applicationhost.config文件

點(diǎn)擊上面操作的【創(chuàng)建虛擬目錄】按鈕后,會(huì)在IIS Express的applicationhost.config文件創(chuàng)建虛擬目錄信息。

文件默認(rèn)路徑:%userprofile%\My Documents\IISExpress\config\applicationhost.config

找到上面應(yīng)用程序的配置信息,添加一條<binding>

1
<binding protocol="http" bindingInformation="*:8081:*" />

示例圖

C# Web應(yīng)用調(diào)試開(kāi)啟外部訪(fǎng)問(wèn)

注意:修改前若已啟動(dòng)了IIS Express,修改后需要重新啟動(dòng)IIS Express才生效。

 

第三步:設(shè)置windows 防火墻

完成上面2步后,還需要設(shè)置防火墻允許此端口通過(guò)。

1) 圖形操作:

打開(kāi) Windows 防火墻的高級(jí)設(shè)置:

① 控制面板 → Windows 防火墻 → 高級(jí)設(shè)置

② 創(chuàng)建一條入站規(guī)則:協(xié)議TCP、端口為8081。

示例圖

C# Web應(yīng)用調(diào)試開(kāi)啟外部訪(fǎng)問(wèn)

 

2) 命令行

也可以執(zhí)行以下命令添加一條入站規(guī)則:

1
netsh advfirewall firewall Add rule name=\"命令行Web訪(fǎng)問(wèn)8081\" dir=in protocol=tcp localport=8081 action=allow

結(jié)果

C# Web應(yīng)用調(diào)試開(kāi)啟外部訪(fǎng)問(wèn)

 

第四步:配置URL保留項(xiàng)

在Windows 7,可使用 Netsh.exe 工具配置HTTP設(shè)置,允許指定URL通過(guò)。

以管理員身份運(yùn)行cmd命令:

1
netsh http add urlacl url=http://*:8081/ user=everyone

該命令為所有帳戶(hù)的指定 URL 命名空間添加一個(gè) URL 保留項(xiàng)

更多netsh資料,可訪(fǎng)問(wèn)相關(guān)MSDN:配置 HTTP 和 HTTPS

 

運(yùn)行圖

C# Web應(yīng)用調(diào)試開(kāi)啟外部訪(fǎng)問(wèn)

 

2. 設(shè)置外網(wǎng)訪(fǎng)問(wèn)

設(shè)置好內(nèi)網(wǎng)可訪(fǎng)問(wèn)后,想要外網(wǎng)的小伙伴訪(fǎng)問(wèn)本機(jī),可通過(guò)以下2種方法:

1) 端口映射

2) 內(nèi)網(wǎng)穿透

 

2.1 端口映射

前提條件:擁有路由器設(shè)置權(quán)限。

在對(duì)外的路由器中設(shè)置一條端口映射規(guī)則,訪(fǎng)問(wèn)外部IP地址時(shí)跳轉(zhuǎn)到局域網(wǎng)機(jī)器上。具體操作這里不闡述。

 

2.2 內(nèi)網(wǎng)穿透

在公司內(nèi)開(kāi)發(fā)web應(yīng)用時(shí),不是所有人都可以申請(qǐng)端口映射的權(quán)限,所以這時(shí)候就要有個(gè)內(nèi)網(wǎng)穿透的解決方案了。

網(wǎng)絡(luò)上提供內(nèi)網(wǎng)穿透的應(yīng)用有很多,這里使用的是花生殼(官網(wǎng):http://hsk.oray.com/)。

示例

C# Web應(yīng)用調(diào)試開(kāi)啟外部訪(fǎng)問(wèn)

注意:微信OAuth3.0進(jìn)行域名跳轉(zhuǎn)時(shí)會(huì)加上端口號(hào),此時(shí)域名端口為80,本機(jī)端口為8081,跳轉(zhuǎn)后的地址為域名:8081會(huì)顯示錯(cuò)誤。解決方法只需要設(shè)置本機(jī)web應(yīng)用的端口也為80即可。

 

運(yùn)行圖

C# Web應(yīng)用調(diào)試開(kāi)啟外部訪(fǎng)問(wèn)


向AI問(wèn)一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI