如何从另一台机器通过IP访问Visual Studio中运行的IIS Express站点?
解决Visual Studio中IIS Express无法通过局域网IP访问站点的问题
我之前也碰到过一模一样的情况——Web Matrix里用IP访问没问题,但Visual Studio里就报Bad Request,只能用localhost访问。其实核心原因是IIS Express默认只绑定了localhost,而且Visual Studio运行时会自动管理配置,容易覆盖手动修改的设置。下面是几个亲测有效的解决方法:
方法一:修改IIS Express的applicationhost.config文件
这是最直接的方式,分两种情况找配置文件:
- 如果是全局IIS Express配置:打开
%USERPROFILE%\Documents\IISExpress\config\applicationhost.config(比如C:\Users\你的用户名\Documents\IISExpress\config\applicationhost.config) - 如果是项目专属配置:打开项目根目录下的
.vs\config\applicationhost.config(.vs是隐藏文件夹,需要先显示隐藏文件)
找到你项目对应的<site>节点,比如:
<site name="MyWebProject" id="3"> <application path="/" applicationPool="Clr4IntegratedAppPool"> <virtualDirectory path="/" physicalPath="C:\Projects\MyWebProject" /> </application> <bindings> <binding protocol="http" bindingInformation="*:10369:localhost" /> </bindings> </site>
在<bindings>里添加一个新的绑定规则,允许你的局域网IP访问:
<bindings> <binding protocol="http" bindingInformation="*:10369:localhost" /> <binding protocol="http" bindingInformation="*:10369:192.168.1.11" /> </bindings>
如果想允许所有局域网IP访问,可以用*:10369:*代替上面的IP地址。
保存文件后,重启Visual Studio和IIS Express,再试试用IP访问。
方法二:用命令行手动启动IIS Express
有时候Visual Studio会自动重置配置,这种情况下可以绕过它,直接用命令行启动:
- 打开命令提示符(CMD),导航到IIS Express的安装目录,一般是
C:\Program Files (x86)\IIS Express - 运行以下命令(替换成你的项目路径和端口):
iisexpress.exe /path:"C:\Projects\MyWebProject" /port:10369 /clr:v4.0 /sitebindings:http://*:10369:192.168.1.11
启动成功后,就能直接用192.168.1.11:10369访问站点了。
方法三:通过Visual Studio项目设置修改绑定
针对ASP.NET项目,还可以直接在Visual Studio里配置:
- 右键你的项目 → 选择「属性」
- 切换到「调试」选项卡
- 在「Web服务器设置」区域,点击「创建虚拟目录」右侧的「...」按钮,打开IIS Express配置编辑器
- 在「绑定」列表里点击「添加」,选择HTTP协议,IP地址填你的局域网IP(192.168.1.11),端口填10369
- 保存设置,重启项目即可
额外注意事项
- 别忘了检查防火墙设置,确保允许IIS Express通过10369端口的入站连接,不然其他机器还是访问不了
- 如果修改全局配置后又失效,大概率是项目的
.vs文件夹里的配置被Visual Studio自动覆盖了,优先修改项目内的applicationhost.config文件
内容的提问来源于stack exchange,提问作者om_jaipur
相关产品推荐
相关产品推荐

