Подтвердить что ты не робот

Настройка mod_proxy на apache http server

Я хотел отменить прокси-сервер для веб-службы с моего сервера tomcat с помощью веб-сервера apache. Я изменил httpd.conf

LoadModule proxy_module modules/mod_proxy.so

<Directory />
    AllowOverride none
    Require all denied
</Directory>

ProxyPass         /ROOT  http://localhost:8080/ROOT
ProxyPassReverse  /ROOT  http://localhost:8080/ROOT

Мой сервер Tomcat работает на порту 8080, теперь, когда я запускаю localhost/ROOT, я получаю ошибку внутреннего сервера 500.

Эта последняя запись в error_log:

[Thu Jul 04 14: 17: 00.097359 2013] [proxy: warn] [pid 18980: tid 4476780544] [клиент 127.0.0.1:50525] AH01144: Обработчик протокола не был действителен для URL/ROOT. Если вы используете версию mod_proxy DSO, убедитесь, что прокси-подмодули включены в конфигурацию с помощью LoadModule.
Последняя запись в access_log:
 127.0.0.1 - - [04/Jul/2013: 14: 17: 00 -0400] "GET/ROOT HTTP/1.1" 500 528

Любая идея о том, что я делаю неправильно здесь?

4b9b3361

Ответ 1

Итак, это заняло некоторое время, но я понял, как это сделать. Существует еще один модуль, который необходимо загрузить. Это то, что httpd.conf выглядит как

LoadModule proxy_module modules/mod_proxy.so
LoadModule proxy_http_module modules/mod_proxy_http.so

<Directory />
    AllowOverride none
    Require all denied
</Directory>

ProxyPass         /ROOT  http://localhost:8080/ROOT
ProxyPassReverse  /ROOT  http://localhost:8080/ROOT

Это работает точно.:)

Ответ 2

Так как легко пропустить, обратите внимание на комментарий @muka:

sudo a2enmod proxy  
sudo a2enmod proxy_http  
sudo service apache2 restart

Обязательно включите оба модуля proxy и proxy_http!

Ответ 3

В дополнение к другим тонким ответам, если вы проксимируете конечную точку https, вам необходимо включить mod_ssl и добавить SSLProxyEngine on к вашему vhost