IIS 7.5为未知主机名返回404
这对我来说似乎不正确,所以我正在找人告诉我我是如何配置错误的IIS …配置是IIS7.5(2008R2),没有SP1.
我有IIS 7.5配置了几个站点.所有站点都在绑定中定义了主机名,没有站点没有主机名.但是,如果我从服务器IIS(技术上是Microsoft-HTTPAPI / 2.0)请求未知的主机名,则返回404错误,而不是400错误.我期望400(或其他一些主要错误),而不是低404. 当我在多个IIS前面有nginx并想要停止一个站点以便nginx将其从旋转中取出时,这会导致问题.由于IIS仍然为请求返回404,即使该名称没有活动站点,nginx也不知道服务器已死. 注意:无论是否有服务器,IIS都会返回404,但它已停止,或者没有服务器. 思考?解决方案? – 其他信息:好的,我在80(5000)以外的端口上添加了一个站点,然后在该端口的连接上询问了一个不存在的站点,我得到了预期的错误400(无效的主机名).因此,虽然IIS没有在端口80上侦听通用(无主机名)连接,但似乎有些东西.任何想法如何让HTTPSys转储它正在侦听的列表?
这是设计的. URL预留与URL注册不同,URL注册在应用程序向HTTP.SYS注册正在侦听时动态发生.在URL预留的情况下,HTTP.SYS不知道给定预留中的URL是暂时不可用还是根本不存在.在这种情况下,它只能知道有一个有效的主机名匹配(因为您的强/弱通配符),但URL路径与任何当前注册的侦听器不匹配.
如果您想要400或503响应,则要么不使用任何URL保留,要么使用不包含通配符的显式URL保留.简而言之,如果您配置HTTP.SYS使其可以将URL的前缀与任何Reservation(包括通过Registration创建的动态)匹配,那么它将向侦听应用程序发送请求(如果其余匹配),或者返回如果找不到活动的注册监听器,则为404. 另一种可能更简单的解决方案是使用IIS服务本身来管理发送503.为此,不要停止站点,而是停止与之关联的应用程序池.这将导致在HTTP.SYS中发生完全限定匹配(即使使用wlidcard URL Reservations),但是将导致503,因为没有AppPool来传递请求. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
- 批处理文件 – 是否可以使用批处理文件Windows Xp将文件名的
- Windows环境 安装dlib(python) 总结
- 怎么给win10进行分区?
- rest – Microsoft Graph API选择并过滤日历中的所有者地址
- windows-7 – 登台新计算机的最佳方式 – 以没有密码的用户
- .Net:是否有内置的TypeConverter或UITypeEditor来编辑字符
- microsoft-metro – 在Metro应用程序中可以进行Windows身份
- windows – 有没有办法延迟强制重启?
- windows – 如何劫持Caps Lock键以进行剪切,复制,粘贴键盘操
- Windows 8升级后,VBA中的Environ(“USERNAME”)返回“User”