我有一个在自动生成的端口上运行的ASP.NET应用程序,如53000.在移动到另一个端口(在我的情况下为8080)后,IIS Express开始响应503 Service Unavailable
。其他港口确实有效。
Internet上有很多关于检查内容和调试方法的提示,而在大多数情况下,提示与IIS相关或从远程计算机访问。尽管如此,我还是尝试过:
%userprofile%\Documents\IISExpress\config\applicationhost.config
netsh http add urlacl url=http://mymachinename:50333/ user=everyone
netstat
收听端口 - 没问题我还没有检查防火墙和文件夹权限,因为应用程序是从其他端口提供的。
答案 0 :(得分:12)
最后,我在阅读这篇文章后解决了这个问题 - http://haacked.com/archive/2007/05/21/the-iis-7-team-rocks.aspx/。具体来说,它建议审查urlacl绑定并删除有问题的绑定。看起来,在过去的某个时候,添加了对8080的绑定。奇怪的是,它确实允许从每台计算机访问每个用户到这个端口,但显然这是一个问题。
解决方案:运行netsh http show urlacl
。我找到了2个相关的绑定 - 一个是旧的,另一个是最近的,比如:
Reserved URL : http://+:8080/
User: \Everyone
Listen: Yes
Delegate: No
SDDL: D:(A;;GX;;;WD)
使用netsh http delete urlacl url=http://+:8080/