Apache HTTPD сервер может быть настроен как обратный прокси-сервер (или шлюз). Обратный прокси-сервер настроен для работы с контентом другого сервера. Обратный прокси-сервер служит контенту так же, как если бы оно было его собственным, используя свой web-адрес. Содержимое от внешнего сервера отображается в адресе обратного прокси-сервера, так что посетители не знают, что содержание принадлежит другому серверу. Обратный прокси-сервер используется для консолидации нескольких серверов в один адрес сети, предоставляет доступ к серверам, защищенным брандмауэрами, балансировку нагрузки и обеспечивает кэширование контента для медленных серверов.


1. Включите прокси модуль в конфигурационных файлах Apache. Исторически сложилось, что загрузка модуля задается в httpd.conf. Однако, ваша система может разелить конфигурацию Apache на несколько файлов. Документация, как правило, находится в файле httpd.conf. Посмотрите на раздел "LoadModule" и раскомментируйте или добавьте следующую строку:

LoadModule proxy_module modules/mod_proxy.so

2. Найдите раздел конфигурации web-хостинга для вашего сервера в вашем файле(ах) конфигурации Apache.Если вы используете виртуальный хостинг Apache, вы можете добавить конфигурационные директивы обратного прокси в контейнер вашего сайта <VirtualHost...> .

3. Выклюсите прямое проксирование, добавив следующую строку в конфигурацию хоста:
 

ProxyRequests Off

4. Добавьте следующие строки для отображения места с обратного адреса прокси сайта на внешний сайт. "ProxyPass" осуществляет проксирование. "ProxyPassReverse" переписывает заголовки, возвращаясь к клиенту с содержимым, которое определяется как происходящее с обратного прокси-сервера, а не исходного сервера. Замените "/store" именем, которое вы хотите использовать для отображения внешнего содержания. Замените адрес web-севера с вашим back-end адресом сервера.

ProxyPass /store http://yourserver.com/app

ProxyPassReverse /store http://yourserver.com/app

 Таким образом, если ваш внешний обратный прокси-сервер сайта "http://yoursite.com", внешние данные в примере будут доступны по адресу "http://yoursite.com/store".

5. Настройска местоположения конкретных директив для сопоставленных мест такая же, как обычно при использовании Location контейнеров. Добавим Location container:

<Location /store>
... configuration directives...
</Location>

6. Перезагрузите или перезапустите Apache, как вы это делаете обычно. Откройте браузер и перейдите по только что настроенному адресу ("http://yoursite.com/store"), чтобы проверить конфигурацию.