我无法在我的其中一台机器上连接到 localhost 和 http:// 127.0.0.1。但是http://machinename
可以。
这导致 Windows 令牌应用程序无法颁发令牌,因为它无法连接。
事件日志中显示了以下内容:
Request for security token failed with exception:
System.ServiceModel.EndpointNotFoundException: Could not connect to
http:// localhost : 32843/SecurityTokenServiceApplication/securitytoken.svc/actas.
TCP error code 10061: No connection could be made because the target machine actively
refused it 127.0.0.1:32843
我可以 ping 到本地主机:
Reply from ::1: time<1ms
Reply from ::1: time<1ms
Reply from ::1: time<1ms
Reply from ::1: time<1ms
127.0.0.1 也类似
Reply from 127.0.0.1: bytes=32 time<1ms TTL=128
Reply from 127.0.0.1: bytes=32 time<1ms TTL=128
Reply from 127.0.0.1: bytes=32 time<1ms TTL=128
Reply from 127.0.0.1: bytes=32 time<1ms TTL=128
Hosts 文件未被改变并且其中没有活动条目。
在 Powershell 中发出netstat -ao | findstr LISTENING
命令后,我发现了以下 2 个条目:
TCP 172.16.2.187:32843 机器:0 正在监听 4 TCP 172.16.2.187:32844 机器:0 正在监听 4
看起来不错,表明服务已启动并正在运行。此外,每个应用程序池都已启动,网站正在运行,也可以从外部访问(请参阅我们的 LAN)。
如果您需要更多信息,请在评论中提出,我会将其添加到此帖子中。
请帮助我找到错误配置。此致。
答案1
我遇到过同样的问题,但 localhost 可以工作,因为 ::1 地址和网络 ip 都在监听。这个命令对我有帮助
netsh http add iplisten 127.0.0.1
答案2
TCP 172.16.2.187:32843 机器:0 正在监听 4 TCP 172.16.2.187:32844 机器:0 正在监听 4
您的服务仅绑定在环回地址上( , ) 172.16.2.187
,而不绑定到环回地址。您需要重新配置 IIS 以侦听您选择的环回地址(IPv4 或 IPv6),或根据需要侦听所有可用地址( )。127.0.0.1
::1:
0.0.0.0
答案3
这是一个老案例了,但我想把我的经历记录下来,希望将来能对别人有所帮助。
我当时正在开发一个系统,其中手持设备上的代码与本地开发 PC 上的 Web 服务进行通信。手持设备从 Web 服务收到 HTTP 错误请求响应,因此我安装了 Fiddler 以查看是否可以识别问题。它运行正常,问题已解决。
但是后来我发现,一旦我删除了 Fiddler 并清除了它添加的代理设置,我就无法再使用http://192.168.0.192这是我的本地 IP。但是 http://localhost 确实有效,这意味着 IIS 正在运行。
这让我思考了一个星期,直到我发现了一个建议
netsh http delete iplisten ipaddress=127.0.0.1
突然http://192.168.0.192又能正常工作了,但现在 http://localhost 不起作用了。进一步的搜索建议我尝试
netsh http add iplisten 127.0.0.1
虽然这似乎与我之前所做的相反,但我尝试了它,现在两者http://192.168.0.192并且 http://localhost 工作正常
感谢所有向我尝试过建议的人。