2016-12-19 2 views
2

J'ai déployé une application web statique en utilisant Apache Tomcat 8.5.8serveur Tomcat répond avec 400 mauvaise demande pour cette URL

Quand j'appelle l'URL normale, cela fonctionne très bien. Mais quand j'appelle l'URL suivante, cela me donne une mauvaise erreur de 400 requêtes. http://localhost/example/index.html?host_info=Outlook|Web

Je sais que c'est parce que l'URL a le caractère spécial (|). Mais je ne pouvais pas configurer le Tomcat, parce que je suis assez nouveau avec la configuration de Tomcat.

Et je ne peux pas changer l'URL, parce que ce n'est pas quelque chose que je génère. C'est de l'autre composant.

J'ai donc vraiment besoin de configurer le serveur Tomcat pour qu'il accepte l'URL.

Quelqu'un peut-il m'aider dans ce domaine?

Répondre

1

Essayez d'utiliser le tomcat 8.0. * Au lieu de 8,5 J'ai aussi fait face à la même question avant, et je devais déclasser le tomcat 8.0.28

+0

Merci. Cela a fonctionné pour moi. –

1

Ce comportement a été introduit dans Tomcat 7.0.76, 8.0 .42 et 8.5.12, pour se conformer à RFC 7231.

Cette vérification forcée peut être revenir en utilisant la propriété requestTargetAllow en catalina.properties pour permettre caractères INTERDIT:

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