Используйте apache в качестве HTTPS для HTTP прокси


10

Я пытаюсь настроить Apache на Centos 6 для прокси и обратного прокси-трафика к серверу http стороннего поставщика.

Настройка должна работать следующим образом: https://mydomain.com/proxy/ все прокси прозрачно http://thirdparty.com/app/

Проблема, с которой я сталкиваюсь, заключается в том, что любой запрос на https://mydomain.com/proxy/получение перенаправления 301 в ответ.

Это все параметры, связанные с прокси в моем VirtualHost

SetOutputFilter proxy-html
ProxyHTMLExtended On
ProxyRequests Off
SSLProxyEngine On

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


ProxyPass /proxy/ http://thirdparty.com/app/
<Location /proxy/>
        ProxyPassReverse /
        ProxyHTMLEnable On
        ProxyHTMLURLMap http://thirdparty.com/app/ /proxy/
        ProxyHTMLURLMap / /proxy/
</Location>

Ответы:


15

У нас есть аналогичная установка, и мы используем ее (конечно, вам нужно загрузить ее до mod_proxy, mod_ssl и mod_proy_http):

ProxyRequests Off
# SSLProxyEngine On # only required if the proxied service would be HTTPS as well
                    # Meaning if we would reverse proxy https://thirdparty.com/app/
                    # Thanks @Piskvor for the clarification.

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


ProxyPass /proxy/ http://thirdparty.com/app/
ProxyPassReverse /proxy/ http://thirdparty.com/app/
<Location /proxy/>
  ProxyPassReverse /
  Order deny,allow
  Allow from all     
</Location>
Header edit Location ^http://thirdparty.com/app/ https://thirdparty.com/app/

Я обнаружил одну ошибку в том, что я использовал thirdparty.com, который перенаправляет на thirdparty.com . Однако моя оригинальная конфигурация не работала с этим, ваша тоже. Спасибо.
james_t

1
Обратите внимание, что в SSLProxyEngineэтом нет необходимости - это будет необходимо, если вы перейдете по httpS://thirdparty.com/
ссылке

1
@Piskvor действительно после проверки документации снова, в этом случае нет необходимости. Я обновлю ответ. Спасибо за указание на это.
Гюйгенс
Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.