Я пытался настроить обратный прокси-сервер на основном сайте в блоге сайт формата URL-адресApache Reverse Proxy на Wordpress сайта проходит подконтур, когда он не должен
example.com/blog - > blog.example.com
example.com/blog находится на экземпляре Apache и в httpd.conf
Я добавил следующее.
SSLProxyEngine on
ProxyPreserveHost Off
ProxyRequests Off
ProxyPassMatch /blog https://blog.example.com
ProxyPassReverse /blog https://blog.example.com
Все это работает, но оно держит 404ing. Хорошая новость заключается в том, что на самом деле это обратное проксирование правильно, потому что оно захватывает страницу 404 блога.
Просмотрев журналы доступа apache, я обнаружил, что он передает подкаталог по любой причине /blog
до blog.example.com
, поэтому его выборка blog.example.com/blog
. Когда пользователи переходят к /blog
, это естественно 404. Тем не менее, я понял, что при настройке ProxyPassReverse
это сделало бы запрос на то, что было указано, поэтому в моем примере выше он должен запросить blog.example.com
и не передать /blog
в конце.
Вот отрывок из документации, которая подтверждает сказанное выше в том, как он должен работать:
Например, предположим, что локальный сервер имеет адрес http://example.com/; затем
ProxyPass /mirror/foo/ http://backend.example.com/
ProxyPassReverse /mirror/foo/ http://backend.example.com/
ProxyPassReverseCookieDomain backend.example.com public.example.com
ProxyPassReverseCookiePath//mirror/foo/
не только вызовет местный запрос на http://example.com/mirror/foo/bar быть внутренне преобразуется в запрос прокси для http://backend.example.com/bar (функциональность, которая ProxyPass обеспечивает здесь).
Любые идеи, почему это может быть? В худшем случае я могу попытаться добавить перенаправление или переписать так, чтобы /blog
попал на домашнюю страницу, но у меня есть мои постоянные ссылки, настроенные таким образом, что /blog
находится в пучке статей.
FYI Я использую Apache 2.2.