asp.net - IIS Express 响应服务无法用于特定端口上的本地请求

标签 asp.net iis-express http-status-code-503

我有一个正在运行的 ASP.NET 应用程序在自动生成的端口(如 53000)上运行。移动到另一个端口(在我的例子中为 8080)后,IIS Express 开始响应 503 Service Unavailable。其他端口确实有效。

互联网上充满了有关检查内容以及如何调试的提示,而在大多数情况下,提示与 IIS 或从远程计算机的访问相关。不过我已经尝试过了:

  • 查看%userprofile%\Documents\IISExpress\config\applicationhost.config
  • 使用 netsh http add urlacl url=http://mymachinename:50333/user=everyone 授予权限
  • 在不同机器上使用端口 8080 测试同一应用程序 - 确实有效
  • 在端口 8080 上运行另一台服务器 ( mongoose ) - 有效
  • 已使用 netstat 验证端口已监听 - 没有问题

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

最佳答案

最后,我在读完这篇文章后解决了这个问题 - http://haacked.com/archive/2007/05/21/the-iis-7-team-rocks.aspx/ 。具体来说,它建议检查 urlacl 绑定(bind)并删除有问题的绑定(bind)。看来过去某个时候添加了与 8080 的绑定(bind)。奇怪的是,它确实允许每台计算机的每个用户访问此端口,但显然这是一个问题。

解决方案:运行netsh http show urlacl。我发现了 2 个相关的绑定(bind) - 一个是旧的,另一个是最近的,例如:

Reserved URL            : http://+:8080/
    User: \Everyone
        Listen: Yes
        Delegate: No
        SDDL: D:(A;;GX;;;WD)

使用 netsh http delete urlacl url=http://+:8080/删除它

关于asp.net - IIS Express 响应服务无法用于特定端口上的本地请求,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26903522/

相关文章:

asp.net - 启用 Web 的文件存储和授予 IIS_IUSRS 删除权限的安全隐患

asp.net-mvc - Visual Studio 2015 : Custom Domains in IIS Express - Invalid Hostname

java - 尝试设置 Jetty CORS 访问时出现 UnavailableException

django - 如何在 django 中引发 503 错误?

php - PHP 中的长时间计算导致 503 错误

c# - 如何在 ASP.NET Core 3 Razor Pages 中使用环境路由值?

asp.net - 试图让我的网页居中

asp.net - IIS Express 无 AppSettings

session-state - IIS Express 不保留 session 数据

第二个 API 上的 ASP.Net Web API 404 错误