У меня есть веб-служба, которую я хотел бы открыть через URL-адрес foo.com/bar
. Однако мой обратный прокси Apache не работает должным образом. Я создал файл 001-default.conf
, который содержит следующий код:Обратный прокси: нежелательное изменение URL-адреса
<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 reverse proxy changes urlTransparent redirect to port 8080
Для начала удалите: 'Переадресация Постоянный/бар http: // foo: 8080/bar'. Вы хотите прокси, а не перенаправлять. Ваши существующие директивы ProxyPass должны сделать это. – arco444
Теперь я получаю 404 при входе на сайт www.foo.com/bar. Я обновил свой вопрос, чтобы отразить это изменение. –
Имя вашего сервера - info.foo.com, что означает, что foo.com может поразить другой VHOST. – CodeTower