Маршрутизация запросов от IIS к Jetty с помощью isapi_redirect (соединитель Tomcat)

Я установил isapi_redirect в IIS и позволил ему работать. Я включил ajp13 в Jetty, и я могу telnet к порту 8009. Это мой текущий uiworkermap.properties:

/hudson=jetty
/hudson/*=jetty

Если я сделаю запрос к "http://localhost/hudson" или любому другому подкаталогу, я получу ошибку 404. Все остальные URL возвращают сайт, определенный в IIS. Это говорит мне о том, что isapi_redirect просматривает файл uiworkermap и пытается правильно перенаправить.

В журнале Jetty и в журнале isapi_redirect я не вижу никаких ошибок. Если я захожу на http://localhost:8008/hudson, я вижу это правильно. У вас есть идеи, что может вызвать это?

ОБНОВЛЕНИЕ: я создал виртуальный каталог с именем "Джакарта", который указал на dll isapi_redirect, как сказано здесь: http://tomcat.apache.org/connectors-doc/webserver_howto/iis.html После этого шага ошибка изменилась, сейчас в браузере вижу:

Bad Gateway!

There is a problem with the page you are looking for, and it cannot be displayed. When the Web server (while acting as a gateway or proxy) contacted the upstream content server, it received an invalid response from the content server.

Jakarta/ISAPI/isapi_redirector/1.2.32 ()

В журнале ошибок (в режиме отладки) я вижу, что он сначала соединяется, и запрос сделан, но от пристани нет ответа, и эта ошибка генерируется:

[ошибка] ajp_get_reply::jk_ajp_common.c (2118): (мол) Tomcat не работает или отказал в соединении. Ни один ответ не был отправлен клиенту (пока)

Это часть журнала с запросом и ошибкой: https://rapidshare.com/files/3999719393/isapi_redirect_log.txt

1 ответ

Решение

Хорошо, в конце концов, не имея никакой помощи от пользователей stackru, а также читая это на официальном сайте Jetty о ajp13:

Рекомендуется НЕ использовать протокол AJP, и при использовании HTTP будет достигнута превосходная производительность и более четкая семантика.

Я отказался от ajp и использовал отличный и хорошо документированный dll с открытым исходным кодом, чтобы иметь функции прокси HTTP в IIS, IIRF.

Поэтому я бы предложил всем, у кого есть подобные проблемы, просто использовать вместо этого HTTP-прокси.

Другие вопросы по тегам