Маршрутизация запросов от IIS к Jetty с isapi_redirect (соединитель Tomcat) - PullRequest
1 голос
/ 31 августа 2011

Я установил 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 ()

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

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

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

1 Ответ

3 голосов
/ 05 сентября 2011

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

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

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

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

...