Назад | Перейти на главную страницу

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

Я пытаюсь настроить 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>

У нас аналогичная настройка, и мы используем ее (конечно, вам нужно загрузить перед 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/