У меня есть веб-сервис, который я хотел бы открыть через URL foo.com/bar
. Однако мой обратный прокси-сервер Apache не работает должным образом. Я создал файл 001-default.conf
, который содержит следующий код:
<VirtualHost *:80>
ProxyPreserveHost On
ProxyRequests Off
ProxyPass /bar http://foo.com:8080/bar
ProxyPassReverse /bar foo.com:8080/bar
DocumentRoot /var/www/foo/
ServerName info.foo.com
<Directory /var/www/foo>
Options Indexes FollowSymLinks MultiViews Includes
AllowOverride All
Order allow,deny
allow from all
</Directory>
</VirtualHost>
Прямо сейчас я получаю 404
код ошибки.
Я хочу, чтобы все обращения на foo.com/bar автоматически перенаправлялись на foo.com:8080/bar
, что означает, что пользователь должен видеть только URL foo.com/bar
. Перенаправление обратного прокси-сервера также должно включать такие запросы, как foo.com/bar?=foobar
.
Я включил proxy_http и прокси:
% sudo a2enmod proxy_http
Considering dependency proxy for proxy_http:
Module proxy already enabled
Module proxy_http already enabled
Я надеюсь, что есть кто-то, кто сможет мне в этом помочь.
Аналогичная проблема, которая не решила мою проблему: обратный прокси-сервер apache изменяет URL-адрес Прозрачное перенаправление на порт 8080
Redirect Permanent /bar http://foo:8080/bar
. Вы хотите использовать прокси, а не перенаправлять. Ваши существующиеProxyPass
директивы должны это делать. - person arco444   schedule 24.11.2014