[редактировать]: FWI, благодаря комментарию Вадима ниже, я обнаружил, что упустил из виду включение mod_proxy_http
на моем сервере Plesk. Загрузка этого модуля (вместе с mod_proxy
) исправлена исходная ошибка.
Я пытаюсь настроить правила обратного прокси в vhost.conf
. У меня Apache-2.2.8 на Ubuntu-8.04, за которым следит Plesk-10.4.4.
Я пытаюсь определить правило обратного прокси, которое откладывает весь трафик на -say- http://example.com/tomcat/
на сервер Tomcat, работающий на порту 8080. У меня есть mod_rewrite
и mod_proxy
загружен в Apache. Насколько я понимаю mod_proxy
docs, введя следующие правила в /var/www/vhosts/mydomain/conf/vhost.conf
должно сработать:
<Proxy *>
Order deny,allow
Allow from all
</Proxy>
ProxyRequests off
RewriteRule ^/tomcat/(.*)$ http://example.com:8080/$1 [P]
Тем не менее, я получаю HTTP 500: внутренняя ошибка сервера при запросе указанного выше URL. (Примечание: я решил использовать правило перезаписи, чтобы хотя бы часть информации регистрировалась.)
я сделал mod_rewrite
войдите в обширный журнал и найдите следующие записи в журналах [примечание: из-за ограничения макс. 2 URL-адреса в сообщениях новых пользователей, я изменил все следующие URL-адреса, чтобы они содержали только 1 косую черту после http :. Если вы подозреваете опечатки: это было сделано специально):
192.0.2.23 - - [19/Mar/2012:16:42:59 +0100] [example.com/sid#b06ab8][rid#1024af8/initial] (2) init rewrite engine with requested uri /tomcat/testApp/
192.0.2.23 - - [19/Mar/2012:16:42:59 +0100] [example.com/sid#b06ab8][rid#1024af8/initial] (3) applying pattern '^/tomcat/(.*)$' to uri '/tomcat/testApp/'
192.0.2.23 - - [19/Mar/2012:16:42:59 +0100] [example.com/sid#b06ab8][rid#1024af8/initial] (2) rewrite '/tomcat/testApp/' -> 'http:/example.com:8080/testApp/'
192.0.2.23 - - [19/Mar/2012:16:42:59 +0100] [example.com/sid#b06ab8][rid#1024af8/initial] (2) forcing proxy-throughput with http:/example.com:8080/testApp/
192.0.2.23 - - [19/Mar/2012:16:42:59 +0100] [example.com/sid#b06ab8][rid#1024af8/initial] (1) go-ahead with proxy request proxy:http:/example.com:8080/testApp/ [OK]
Это говорит о том, что часть перезаписи и прокси обработана нормально; тем не менее, проксируемый запрос выдает ошибку 500. Все же:
http://example.com:8080/testApp
делает работай.Есть ли что-то еще (связанное с Plesk, возможно?), Которое я должен настроить?
Есть ли какие-нибудь подсказки в ErrorLog?
Вы пробовали то же самое без mod_rewrite
(просто mod_proxy
) как это:
<Location /tomcat>
ProxyPass http://example.com:8080/
ProxyPassReverse http://example.com:8080/
</Location>