Настройка Apache для использования корпоративного прокси для внешних веб-запросов

У меня есть веб-сервер Apache, работающий в моей интрасети.

Я хочу, чтобы все внешние HTTP/HTTPS-запросы из моего веб-приложения Apache использовали прокси-сервер внутренней сети моей компании.

Среда

  • Linux v2.6.32-504.12.2.el6.x86_64
  • Red Hat v4.4.7-9
  • Apache v2.2.15

Я включил следующие модули в httpd.conf

  • proxy_module
  • proxy_connect_module
  • proxy_http_module

URL-адрес

  • Сайт - internal.company.com (http)
  • Прокси является proxy.company.com:1234 (http)
  • Внешний ресурс - external.site.com (https).

Указание прокси вручную на curl работает как положено:

curl -x proxy.company.com:1234 -L external.site.com

Ни один из них, кажется, не работает:

1.

ProxyRequests Off

<Proxy *>
    Order deny,allow
    Allow from all
</Proxy>

ProxyPass external.site.com proxy.company.com:1234
ProxyPassReverse external.site.com proxy.company.com:1234

2.

ProxyRequests On
ProxyRemote external.site.com proxy.company.com:1234
NoProxy .company.com

3.

ProxyRequests On
ProxyRemote * proxy.company.com:1234
NoProxy .company.com

И я пробовал различные комбинации вышеуказанных настроек. Информация в Apache о Intranet Proxy также не очень полезна.

Очень ценю любую помощь!

1 ответ

Веб-приложение Apache

Apache не запускает ваше веб-приложение, это что-то вроде PHP или другого обработчика, который запускает ваше приложение. Apache принимает соединение, а затем, если целевой URL-адрес соответствует обработчику сценария, передает данные HTTP обработчику сценария, а затем передает результат обратно запрашивающему соединению. Apache на самом деле не контролирует то, что делает обработчик скрипта вне HTTP или других данных, которые он выдает.

Опции, с которыми вы возитесь, предназначены для настройки обратных прокси-серверов, что отличается от исходящего HTTP-прокси.

Вы должны настроить само веб-приложение для использования прокси для исходящих запросов. Краткий поиск не дает простого способа заставить все приложения PHP, например, использовать прокси для исходящих соединений, так что это то, что, надеюсь, ваше приложение поддерживает.

Другие вопросы по тегам