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自动也就可以使用了。

猜你喜欢

转载自blog.csdn.net/small_tu/article/details/50961478