2010-10-08 1 views
2

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

Я ожидаю получить доступ к своему приложению по внутреннему 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

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

+0

Как именно вы выполнять редирект? Не могли бы вы вставить соответствующую часть вашего конфига/кода здесь. – Sean

+0

Hi mchr. Возможно, вам повезло на http://serverfault.com. –

+0

У вас есть файл tomcat_home/conf/server.xml или conf/context.xml с для тестового приложения? Можете ли вы опубликовать этот бит, если он есть? или у вас есть веб-сервер Apache с этим Tomcat с некоторыми правилами переадресации, настроенными в httpd.conf или аналогичном .conf-файле? – JoseK

ответ

1

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

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

но прокси NGINX является коверкая это в

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

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

Apache URL Rewriting Guide содержит раздел о Задача трейлинг-коса.

+0

Спасибо за быстрый ответ, но моя настоящая забота о том, что домен искалечен - см. Мое редактирование выше. – mchr

+0

О, извините, я забыл эту часть вашего вопроса. Тогда мой ответ бесполезен для вас. – vanje

 Смежные вопросы

  • Нет связанных вопросов^_^