如何通过修改hosts文件测试Visual Studio本地运行的指定端口网站?
如何通过修改hosts文件测试Visual Studio本地运行的指定端口网站?
嘿,我看你遇到的问题主要是hosts文件的写法不对,还有IIS Express的绑定没配置好,咱们一步步来解决:
首先,先纠正hosts文件的错误:
hosts文件只能做「域名→IP地址」的映射,不能带端口号!你之前写的localhost:44313 testing.com www.testing.com是无效的。正确的写法应该是把域名指向本地回环IP,打开管理员记事本修改C:\Windows\System32\drivers\etc\hosts,添加这两行:
127.0.0.1 testing.com 127.0.0.1 www.testing.com
保存后再跑一遍ipconfig /flushdns刷新DNS缓存,这步你已经做对了。
接下来分两种方案解决访问问题:
方案一:快速临时解决方案(不用改服务器配置)
直接在浏览器里输入带端口的地址:https://testing.com:44313/,就能正常访问了。因为hosts已经把testing.com指向127.0.0.1,加上端口就精准匹配到Visual Studio运行的站点了。
方案二:修改IIS Express配置,实现无端口访问(更贴近真实环境)
如果你不想每次都输端口,可以修改IIS Express的绑定配置,让它把testing.com和你的站点端口关联起来:
- 找到项目的IIS Express配置文件:
- 全局配置一般在
C:\Users\[你的用户名]\Documents\IISExpress\config\applicationhost.config - 项目独立配置(优先级更高)在项目根目录的
.vs\config\applicationhost.config(.vs是隐藏文件夹,需要显示隐藏文件才能看到)
- 全局配置一般在
- 搜索你的站点名称,找到对应的
<site>节点,里面的<bindings>部分大概是这样的:<bindings> <binding protocol="https" bindingInformation="*:44313:localhost" /> </bindings> - 给testing.com和www.testing.com添加新的绑定:
要是想直接用<bindings> <binding protocol="https" bindingInformation="*:44313:localhost" /> <binding protocol="https" bindingInformation="*:44313:testing.com" /> <binding protocol="https" bindingInformation="*:44313:www.testing.com" /> </bindings>https://testing.com访问(不用带端口),可以改成绑定到HTTPS默认的443端口,但必须用管理员权限启动Visual Studio(因为443是系统特权端口),绑定代码如下:<binding protocol="https" bindingInformation="*:443:testing.com" /> - 保存配置文件,关闭当前的调试会话,重新启动Visual Studio的调试服务。
- 最后,因为是自签名证书,浏览器会提示安全风险,测试环境下直接忽略或者把IIS Express的证书导入到系统信任根证书就行。
另外再提醒几个小细节:
- 编辑hosts文件一定要用管理员权限打开记事本,不然保存会失败;
- 用隐私窗口测试的做法很聪明,确实能避开浏览器缓存干扰;
- 如果改了配置没生效,优先检查项目根目录
.vs文件夹里的applicationhost.config,这个是项目专属的,优先级比全局配置高。
备注:内容来源于stack exchange,提问作者Computer
相关产品推荐
相关产品推荐

