在IIS中使用DNS名称实现内部端口重定向、隐藏URL访问端口的咨询
可行实现方案
共有3种常用的实现方式,可根据你的实际环境选择:
方案1:直接修改站点端口为HTTP默认端口(最推荐)
HTTP协议默认使用80端口,只要站点绑定80端口,访问时就不需要手动加端口号,操作步骤如下:
- 打开IIS管理器,定位到
TestSite站点,右键选择「编辑绑定」 - 选中当前绑定了90端口的HTTP条目,点击「编辑」
- 将端口值从
90修改为80,确认主机名仍填写TestSite后保存设置 - 重启
TestSite站点即可,后续直接访问http://TestSite就不会显示端口号
注意:该方案仅适用于服务器80端口没有被其他程序/站点占用的场景。
方案2:通过IIS反向代理转发请求
如果80端口已经被其他IIS站点占用,可以用占用80端口的站点做反向代理,将主机名匹配TestSite的请求转发到90端口的站点,浏览器地址栏不会发生跳转也不会显示端口号:
- 先确认IIS已经安装「应用程序请求路由(ARR)」和「URL重写」功能模块
- 进入绑定了80端口的站点的管理界面,打开「URL重写」功能
- 点击右侧「添加规则」,选择「反向代理规则」模板,在转发目标地址栏填入
http://127.0.0.1:90,勾选「启用SSL卸载」后保存 - 规则生效后所有访问
http://TestSite的请求会被自动转发到90端口的站点,无需改动现有90端口站点的配置
方案3:使用系统端口转发
不想改动IIS配置的前提下,可以直接用Windows系统的端口转发功能,将80端口的请求转发到90端口:
- 以管理员身份启动CMD或PowerShell,执行以下命令:
netsh interface portproxy add v4tov4 listenaddress=<服务器本机IP> listenport=80 connectaddress=127.0.0.1 connectport=90
注意把命令里的
<服务器本机IP>替换为你服务器的实际内网/公网IP
额外说明
- 如果你后续需要给站点配置HTTPS,HTTPS协议默认端口为443,参照上述逻辑把对应端口改为443即可实现
https://TestSite无端口访问 - 所有方案生效前都要确保
TestSite的DNS解析已经正确指向运行IIS的服务器IP,且对应访问端口(80/443)在服务器防火墙已放通
内容的提问来源于stack exchange,提问作者Ysoni
相关产品推荐
相关产品推荐

