Проксирование запросов в Apache c ProxyPass


По разным причинам может понадобиться отображать информацию с одного сервера на другом. В причины вдаваться не буду.

Приведу пример как это можно реализовать средствами mod_rewrite и mod_proxy web-сервера Apache2. В этом примере я буду проксировать запросы на админку WordPress с одного сервера на второй.

Используя mod_proxy:

ProxyRequests On
ProxyPass /wp-admin http://second.server.com/wp-admin
ProxyPass /wp-login.php http://second.server.com/wp-login.php
ProxyPassReverse /wp-admin http://second.server.com/wp-admin

В случае если Вы хотите проксировать SSL/https трафик тогда добавте еще:

SSLProxyEngine on

Используя mod_rewrite:

RewriteEngine on
RewriteCond %{REQUEST_URI} ^/wp-admin [NC]
RewriteCond %{REQUEST_URI} ^/wp-login.php [NC]
RewriteRule ^(.*)$ http://second.server.com/%{REQUEST_URI} [P]

В любом из случаев нужно что бы были включены mod_rewrite, mod_proxy и mod_proxy_http.

a2enmod mod_rewrite mod_proxy mod_proxy_http

Share Button
(Visited 1 713 times, 1 visits today)

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *

Лимит времени истёк. Пожалуйста, перезагрузите CAPTCHA.