Странная обработка домена с перенаправлением косой черты в Tomcat - PullRequest
2 голосов
/ 08 октября 2010

У меня есть веб-сервер Tomcat 6, на котором запущено мое приложение, и я наблюдаю очень странное поведение перенаправления.

Я ожидаю доступа к своему приложению по внутреннему URL-адресу http://appteam.testdomain.co.uk/test, и это вернет302 перенаправить на http://appteam.testdomain.co.uk/test/, который затем отправляет index.html, главную страницу приложения.

Однако GET для http://appteam.testdomain.co.uk/test в настоящее время возвращает 302 к http://appteam.testdomain.co.ukteam.testdomain.co.uk/test/

Как бы я отладил этот странный редирект и какая конфигурация Tomcat могла вызывать такое поведение?

EDIT

Для ясности странность заключается в том, что запрос на

http://appteam.testdomain.co.uk/test 

перенаправляется на

http://appteam.testdomain.co.ukteam.testdomain.co.uk/test/

Обратите внимание на искаженный домен.

EDIT2

@ Шон - я не делаю перенаправление самостоятельно.Кажется, что-то глубоко внутри Tomcat справляется со мной.Дайте мне знать, какие части различных файлов Tomcat XML помогут диагностировать это, и я опубликую их.

Ответы [ 2 ]

1 голос
/ 11 октября 2010

Я разработал ответ, и он очень специфичен для развертывания моего приложения.Tomcat находится за прокси-сервером NGINX, который перенаправляет почти весь трафик на Tomcat.Прокси-сервер используется для обработки некоторых URL-адресов по-разному.Оказывается, Tomcat возвращает правильные 302

http://appteam.testdomain.co.uk/test/

, но прокси NGINX искажает это в

http://appteam.testdomain.co.ukteam.testdomain.co.uk/test/
0 голосов
/ 08 октября 2010

Такое поведение не является ошибкой. Jetty также отправляет перенаправление 302, если запрос указывает на каталог без косой черты.

Руководство по перезаписи URL-адресов Apache содержит раздел о проблеме Trailing Slash .

...