Windows Server 2012下IIS与netsh 80/443端口转发冲突问题求解
解决Windows Server 2012上PortProxy与IIS的80端口冲突问题
以下是针对该问题的分步排查和解决方法:
1. 确认IPListen配置完全生效
先验证IIS监听IP的配置是否正确,确保其已停止监听目标外部IP:
- 执行命令查看当前IPListen列表:
确认列表中没有你的外部IP(89.211.89.23),仅包含你希望IIS监听的内部IP。netsh http show iplisten - 强制重启IIS服务使配置落地:
iisreset
2. 重新配置PortProxy转发规则
旧规则可能存在隐性参数缺失,先清理再重建:
- 删除现有80端口转发规则:
netsh interface portproxy delete v4tov4 listenaddress=89.211.89.23 listenport=80 - 创建参数完整的新规则:
netsh interface portproxy add v4tov4 listenaddress=89.211.89.23 listenport=80 connectaddress=192.168.1.12 connectport=80 - 验证规则是否正确添加:
netsh interface portproxy show all
3. 排查80端口占用情况
确认80端口未被其他进程拦截:
- 执行命令查看80端口的占用进程:
若输出中仍存在IIS相关进程(如w3wp.exe),说明IPListen配置未生效,需重新检查配置并再次重启IIS。netstat -ano | findstr ":80"
4. 验证Hyper-V虚拟机连通性
确保主机能正常访问CentOS的80端口服务:
- 在主机上执行
ping 192.168.1.12,确认网络连通性。 - 用
curl http://192.168.1.12或telnet 192.168.1.12 80测试CentOS的80端口服务是否正常响应。
5. 检查Windows防火墙规则
确保外部流量能进入主机的80端口:
- 检查入站规则,确认存在允许TCP 80端口的规则,且覆盖外部网络范围。
- 可临时关闭防火墙测试,若测试通过,需调整防火墙规则放行对应流量。
6. 确认PortProxy依赖服务状态
PortProxy依赖IP Helper服务运行:
- 执行命令检查服务状态:
若服务未启动,执行sc query iphlpsvcsc start iphlpsvc启动,并设置为自动启动:sc config iphlpsvc start= auto
内容的提问来源于stack exchange,提问作者khourshed
相关产品推荐
相关产品推荐

