Asp.net IIS Express responses服务对于特定端口上的本地请求不可用

Asp.net IIS Express responses服务对于特定端口上的本地请求不可用,asp.net,iis-express,http-status-code-503,Asp.net,Iis Express,Http Status Code 503,我有一个运行在自动生成的端口(如53000)上的ASP.NET应用程序。移动到另一个端口(我是8080)后,IIS Express开始响应503服务不可用。其他港口也起了作用 Internet上有很多关于检查什么以及如何调试的提示,而在大多数情况下,这些提示与IIS或从远程计算机访问相关。尽管如此,我还是尝试过: 查看%userprofile%\Documents\IISExpress\config\applicationhost.config 使用netsh http add urlacl

我有一个运行在自动生成的端口(如53000)上的ASP.NET应用程序。移动到另一个端口(我是8080)后,IIS Express开始响应
503服务不可用
。其他港口也起了作用

Internet上有很多关于检查什么以及如何调试的提示,而在大多数情况下,这些提示与IIS或从远程计算机访问相关。尽管如此,我还是尝试过:

  • 查看
    %userprofile%\Documents\IISExpress\config\applicationhost.config
  • 使用
    netsh http add urlacl url授予权限=http://mymachinename:50333/ 用户=所有人
  • 使用端口8080在不同机器上测试同一应用程序-did工作
  • 在端口8080上运行另一台服务器()-正常工作
  • 已验证是否使用
    netstat
    侦听端口-无问题

我没有检查防火墙和文件夹权限,因为应用程序是从其他端口提供的。

最后,在阅读本文之后,我解决了这个问题。它特别建议检查urlacl绑定并删除有问题的绑定。看起来,在过去的某个时候添加了对8080的绑定。奇怪的是,它确实允许每台计算机和每个用户访问这个端口,但显然这是一个问题

解决方案:运行
netsh http show urlacl
。我发现了两个相关的绑定—一个是旧的,另一个是新的,如:

Reserved URL            : http://+:8080/
    User: \Everyone
        Listen: Yes
        Delegate: No
        SDDL: D:(A;;GX;;;WD)
使用netsh http delete urlacl url=http://+:8080/