VS的IISExpress配置經過IP訪問程序

  今天同事想要經過他的電腦在局域網中調用我本地的接口,理論上我在本地啓起來後給他對應的IP地址和端口號就能夠了,因此我在本身電腦上試了一下吧localhost改爲IP或127.0.0.1 試了一下......果真仍是沒法訪問!!!經過localhost訪問是有效的,可是經過本機IP甚至127.0.0.1訪問無效,報的錯誤是 400. The request hostname is invalid.安全

以下圖:服務器

 

 

 

 

因而乎  度娘就告訴我,你這樣是不行滴,你得像我這樣搞....!!!app

 

1.在狀態欄中,選擇IISPress站點,右鍵選擇顯示全部應用程序url

 

 

 

 2.單擊站點名稱,在下面提示的路徑中選擇配置路徑,打開applicationhost.config文件spa

 

 

3.找到IISExpress的配置文件並打開applicationhost.config,找到以下代碼:3d

<site name="WebSite1" id="1" serverAutoStart="true">
      <application path="/">
           <virtualDirectory path="/" physicalPath="%IIS_SITES_HOME%\WebSite1" />
      </application>
      <bindings>
           <binding protocol="http" bindingInformation=":31173:localhost" />
      </bindings>
</site>

 

 其中name是你Web項目的名稱,找到對應你項目的配置,而後在code

<binding protocol="http" bindingInformation="*:31173:localhost" />

 後面加上orm

 <binding protocol="http" bindingInformation="*:31171:192.168.1.xx" />

 

(端口號和IP都都改爲本身的)server

 

4.按上面改成後,當你經過IP地址訪問時仍是可能會出現400錯誤,若是出現,就採用下面的方法:blog

(1)以管理員身份打開CMD命令窗口
(2)輸入以下命令:
netsh http add urlacl url=http://192.168.1.xx:31173/ user=everyone

與上面改的IP和端口號對應,若是報錯請確認是不是以管理員身份運行的CMD。 

經過命令,能夠查看到已經添加進去的URL了

netsh http show urlacl

 

完成以後重啓IISExpress,此時應該就可使用IP地址訪問了。

 

 

5.完成上面兩部以後,因爲防火牆的緣由,其餘的電腦可能還沒法訪問你的服務器,若是出現這種狀況,關閉防火牆(這裏系統是win8.1)

  (1)控制面板(查看方式選擇類別)->系統和安全->Windows防火牆,在左側選擇高級設置
  (2)右擊入站規則->新建規則->端口->特定本地端口處輸入31171->容許鏈接->3個選項全選->輸入新規則名稱->完成 

 

如今外部程序就能夠訪問你的IISExpress了

 

6.最後呢,用完了也能夠將其刪除:

netsh http delete urlacl url=http://192.168.1.xx:31173/
相關文章
相關標籤/搜索