Назад | Перейти на главную страницу

как настроить mod_proxy для apache2, jetty

Вот как я настроил свою среду, атм. Экземпляр apache2 на порту 80. Экземпляр Jetty на том же сервере, на порту 8090.

Пример использования:

Ниже представлены различные файлы конфигурации:

/etc/apache2/mods-enabled/proxy.conf:

ProxyPass / http://foo.com:8090/   << this is the jetty server

ProxyPass /blog http://foo.com/blog

ProxyRequests On
ProxyVia On

<Proxy *>
 Order deny,allow
 Allow from all
</Proxy>

ProxyPreserveHost On

ProxyStatus On

/etc/apache2/httpd.conf:

LoadModule proxy_module /usr/lib/apache2/modules/mod_proxy.so
LoadModule proxy_balancer_module /usr/lib/apache2/modules/mod_proxy_balancer.so
LoadModule proxy_http_module /usr/lib/apache2/modules/mod_proxy_http.so
LoadModule proxy_ajp_module /usr/lib/apache2/modules/mod_proxy_ajp.so

Я не создавал никаких других файлов, доступных для сайтов или доступных для сайтов.

Текущая ситуация:

ОШИБКА HTTP 404

Проблема с доступом к /errors/404.html. Причина:

NOT_FOUND питание от причала: //

Прокси-сервер получил недопустимый ответ от вышестоящего сервера.

Прокси-сервер не может обработать запрос GET / blog.

Причина: ошибка чтения с удаленного сервера

Я использую сжатие Debian на инстансе Amazon EC2.

Вопрос: Где я ошибаюсь? Какие изменения я должен внести в proxy.conf (или другие файлы conf), чтобы иметь возможность посещать блог?

Если я правильно понял, вам нужно заменить эту строку

ProxyPass /blog http://foo.com/blog

с этой линией

ProxyPass /blog/ !

Это указывает серверу apache2 не проксировать все, что начинается с / blog, что, я думаю, именно то, что вы хотите.

ОБНОВЛЕНИЕ: официальные документы здесь: http://httpd.apache.org/docs/2.2/mod/mod_proxy.html