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

1444
KarlHungus

У меня есть веб-сервер 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 также не очень полезна.

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

0

1 ответ на вопрос

0
LawrenceC

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

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

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

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

Ах, хорошо, да, извините за неправильное употребление. У меня есть веб-сервер Apache, на котором размещено приложение узла. Очень рад, что вы указали на это, поскольку я был настолько поглощен попытками связать это с проблемой Apache. Я посмотрю о настройке запросов в узле для использования прокси. KarlHungus 9 лет назад 0