Мод настройка прокси-сервера на HTTP-сервере Apache
Я хотел отменить прокси-сервер веб-службы с моего сервера 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] [client 127.0.0.1:50525] AH01144: No protocol handler was valid for the URL /ROOT. If you are using a DSO version of mod_proxy, make sure the proxy submodules are included in the configuration using LoadModule.
Последняя запись в
access_log is:
127.0.0.1 - - [04/Jul/2013:14:17:00 -0400] "GET /ROOT HTTP/1.1" 500 528
есть идеи о том, что я делаю неправильно здесь?
3 ответов:
Так что это заняло некоторое время, но я понял, как это сделать. Есть еще один модуль, который нужно загрузить. Вот что такое 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это работает точно. :)
Так это легко упустить из виду, обратите внимание на комментарий @мука это:
sudo a2enmod proxy sudo a2enmod proxy_http sudo service apache2 restartобязательно включите оба модуля
proxyиproxy_http!
в дополнение к другим прекрасным ответам, Если вы проксируете конечную точку https, вам нужно включить mod_ssl и добавить
SSLProxyEngine onк вашему vhost
Comments