apache - isapi 重定向程序未正确处理 Tomcat 和 IIS 7.0 之间的重定向状态代码 302

标签 apache tomcat iis-7 http-status-code-302 isapi-redirect

我们最近在 Tomcat 6 下安装了一个 Web 应用程序,它通过 isapi 重定向器接口(interface)(参见 http://tomcat.apache.org/connectors-doc/webserver_howto/iis.html)连接到 IIS 7 服务器。连接器在任何情况下都可以正常工作,除了 Web 应用程序中的某些页面返回状态 302 以及要重定向到的新位置。

浏览器返回 302 并请求新位置,但 IIS Web 服务器不会将请求转发给 Tomcat 服务器,而是返回 404 错误,即使 uri worker map 对我来说看起来是正确的。

对应的uri worker规则是:

/WebClientServlet/*=worker1

新位置的位置 url 如下所示:

http://localhost/WebClientServlet/SBS/cmd:editContent2/workflow:false/articleSearch:false/confirmed:false/objectID:131294/---/fpse/db:test/objectID:131294/Copy+of+0001-Intranet+Home-main-ip+%28DE%29

最佳答案

我可以解决这个问题。 HTTP 状态代码实际上是 404.11,这意味着(在 IIS 7 下)不允许双重转义序列。 IIS 7 中引入了一项新功能,称为双重转义 URL 过滤。它是一个默认的安全过滤器,拒绝加载任何包含双重转义序列的 URL。为了解决这个问题,将用于通过isapi-redirector 访问tomcat 应用程序的网站关闭该功能。查看更多 http://www.iis.net/ConfigReference/system.webServer/security/requestFiltering .

关于apache - isapi 重定向程序未正确处理 Tomcat 和 IIS 7.0 之间的重定向状态代码 302,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3883587/

相关文章:

apache - Kerberos SSO 与 mod_auth_kerb : Verification code 589824 and Token seems to be NTLM

linux - 为作为服务运行的tomcat设置内存大小

mysql - 收到电子邮件时运行脚本的最简单方法是什么?

ASP.NET 处理程序未在 IIS7 上运行

python - 使用不同的 python 版本运行多个 CherryPy Web 应用程序

java - 将拦截器链添加到 JAX WS 提供程序

java - Tomcat 权限被拒绝/home/ubuntu 无法 GET,POST

java - 服务器启动期间在 Tomcat、Spring、Maven 和 Eclipse 上使用 wicket 的 ClassNotFoundException

java - InputStream 无限循环

asp.net - 将MVC和路由添加到WebForms项目后,IIS中的默认文档(default.aspx)不起作用