2010-10-07 2 views
0

Недавно мы установили веб-приложение под Tomcat 6, которое подключено через интерфейс ретранслятора isapi (см. http://tomcat.apache.org/connectors-doc/webserver_howto/iis.html) на сервер IIS 7. Соединитель работает правильно в каждом случае, за исключением некоторых страниц веб-приложения, которые возвращают статус 302, с новым местом для перенаправления.Код статуса переадресации 302 между Tomcat и IIS 7.0 неправильно обрабатывается редиректором isapi

Браузер возвращает 302 и запрашивает новое местоположение, но веб-сервер IIS не перенаправляет запрос на сервер Tomcat и вместо этого возвращает ошибку 404, хотя карта рабочего стола uri выглядит правильно для меня.

Соответствующее правило URI работник:

/WebClientServlet/*=worker1

и место URL в новое место выглядит следующим образом:

http://localhost/WebClientServlet/SBS/cmd:editContent2/workflow:false/articleSearch:false/confirmed:false/objectID:131294/---/fpse/db:test/objectID:131294/Copy+of+0001-Intranet+Home-main-ip+%28DE%29

ответ

0

я мог бы решить эту проблему. Код состояния HTTP был фактически 404.11, что означает (под IIS 7), что двойные экранированные последовательности не разрешены. В IIS 7 появилась новая функция, называемая двойной экранированной фильтрацией URL-адресов. Это фильтр по умолчанию, который запрещает загружать любой URL-адрес, содержащий двойные экранированные последовательности. Чтобы решить проблему, отключите функцию для веб-сайта, который используется для доступа к приложению tomcat поверх isapi-redirector. См. Ниже под http://www.iis.net/ConfigReference/system.webServer/security/requestFiltering.

0

Переверните переадресацию ISAPI. До сегодняшнего дня это то, что я использовал. Ознакомьтесь с Application Request Routing для IIS7. Here - это прогулка по настройке. Если вы хотите использовать заголовки хостов, посмотрите here.