VS2015 使用IIS Express 支持非localhost訪問

使用VS2015 開發C# web工程,使用IIS Express 作爲服務器。自己開發,自己測試沒問題,讓其他人員訪問測試的出現

Bad Request - Invalid Hostname


HTTP Error 400. The request hostname is invalid.


我的機器是局域網和公網都可以訪問的,有一個局域網ip 192.168.8.110,在路由器上做了端口映射,將5678端口映射到了本機的5678端口。


無論用192段ip,還是公網ip,還是127.0.0.1都出現上面那個錯誤。


百度一下:

http://www.cnblogs.com/liluping860122/p/4685564.html

找到一位大俠的解決方法,寫的很棒。

主要是修改 : 工程路徑\.vs\config 文件夾下面的applicationhost.config 這個文件,找到site 那個節點,修改bindings 屬性,這其實給在iis中編輯綁定是一樣的意思。

具體修改的內容有幾點注意的:

1 如果用實際公網域名

<binding protocol="http" bindingInformation="*:9999:localhost" /> localhost 直接換成公網域名即可,vs不需要使用管理員權限打開

2 如果用自定義域名

localhost 替換爲自定義域名,如果是管理員權限打開不需要編輯系統的hosts文件,如果是普通權限打開,需要編輯hosts文件

我是win7系統,hosts文件在 C:\Windows\System32\drivers\etc 下面,是隱藏的,所以要從系統菜單-工具-文件夾選項-的顯示中選擇顯示隱藏的文件夾。

我在修改的時候,安裝的殺毒軟件小紅傘阻止修改host,選擇允許就可以保存了,不然會提示有其他文件正在打開,不讓保存。

3 如果使用局域網ip

將localhost 換成具體的ip即可,注意一定要用管理員權限打開vs。不然還是不能的。


修改完畢config後,重啓下VS,重啓的時候選擇是否以管理員的身份運行,打開VS後,運行項目,可以看到右下角的IIS express 托盤中-查看全部運行程序,會有剛纔設置的ip。


局域網ip能使用後,我的外網ip自動也就可以使用了。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章