Tomcat服务器响应此URL的400个错误请求

时间:2016-12-19 08:34:16

标签: tomcat configuration bad-request

我使用Apache Tomcat 8.5.8部署了一个静态Web应用程序

当我调用普通网址时,它运行正常。 http://localhost/example/index.html

但是当我调用以下URL时,它会给我400个错误的请求错误。 http://localhost/example/index.html?host_info=Outlook|Web

我知道这是因为URL具有特殊字符(|)。 但我无法配置Tomcat,因为我对Tomcat配置很新。

我无法更改网址,因为它不是我生成的内容。它来自其他组成部分。

所以我真的需要配置Tomcat服务器,以便它可以接受url。

有人可以帮助我吗?

2 个答案:

答案 0 :(得分:2)

此行为是在Tomcat 7.0.76,8.0.42和8.5.12中引入的,以符合RFC 7231

可以使用requestTargetAllow中的属性catalina.properties恢复此强制检查,以允许禁止使用字符:

tomcat.util.http.parser.HttpParser.requestTargetAllow=|{}

答案 1 :(得分:1)

尝试使用tomcat 8.0。*而不是8.5 我之前也遇到过同样的问题,我不得不将tomcat降级到8.0.28