Tomcat 服务器正在响应此 URL 的 400 个错误请求
Tomcat server is responding with 400 bad request for this URL
我已经使用 Apache Tomcat 8.5.8
部署了一个静态 Web 应用程序
当我调用正常 URL 时,它工作正常。
http://localhost/example/index.html
但是当我调用以下 URL 时,它给了我 400 bad request 错误。
http://localhost/example/index.html?host_info=Outlook|Web
我知道这是因为 URL 有特殊字符 (|)。
但是我无法配置 Tomcat,因为我对 Tomcat 配置还很陌生。
而且我无法更改 URL,因为它不是我生成的。它来自其他组件。
所以我真的需要配置 Tomcat 服务器,以便它可以接受 url。
谁能帮我解决这个问题?
尝试使用 tomcat 8.0.* 而不是 8.5
我之前也遇到过同样的问题,我不得不将 tomcat 降级到 8.0.28
此行为是在 Tomcat 7.0.76、8.0.42 和 8.5.12 中引入的,以符合 RFC 7231
.
可以使用 catalina.properties
中的 属性 requestTargetAllow
恢复此强制检查以允许使用禁止字符:
tomcat.util.http.parser.HttpParser.requestTargetAllow=|{}
我已经使用 Apache Tomcat 8.5.8
部署了一个静态 Web 应用程序当我调用正常 URL 时,它工作正常。 http://localhost/example/index.html
但是当我调用以下 URL 时,它给了我 400 bad request 错误。 http://localhost/example/index.html?host_info=Outlook|Web
我知道这是因为 URL 有特殊字符 (|)。 但是我无法配置 Tomcat,因为我对 Tomcat 配置还很陌生。
而且我无法更改 URL,因为它不是我生成的。它来自其他组件。
所以我真的需要配置 Tomcat 服务器,以便它可以接受 url。
谁能帮我解决这个问题?
尝试使用 tomcat 8.0.* 而不是 8.5 我之前也遇到过同样的问题,我不得不将 tomcat 降级到 8.0.28
此行为是在 Tomcat 7.0.76、8.0.42 和 8.5.12 中引入的,以符合 RFC 7231
.
可以使用 catalina.properties
中的 属性 requestTargetAllow
恢复此强制检查以允许使用禁止字符:
tomcat.util.http.parser.HttpParser.requestTargetAllow=|{}