У меня есть веб-сервер 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 помогут диагностировать это, и я опубликую их.
Я разработал ответ, и он очень специфичен для развертывания моего приложения.Tomcat находится за прокси-сервером NGINX, который перенаправляет почти весь трафик на Tomcat.Прокси-сервер используется для обработки некоторых URL-адресов по-разному.Оказывается, Tomcat возвращает правильные 302
http://appteam.testdomain.co.uk/test/
, но прокси NGINX искажает это в
Такое поведение не является ошибкой. Jetty также отправляет перенаправление 302, если запрос указывает на каталог без косой черты.
Руководство по перезаписи URL-адресов Apache содержит раздел о проблеме Trailing Slash .