Apache ProxyPass, похоже, не проксирует контент с удаленного хоста

Apache ProxyPass, похоже, не проксирует контент с удаленного хоста

Я пытаюсь создать прокси-сервер на URL моего "главного" сайта на удаленный сайт, "восток", но я застреваю в цикле перенаправления. Это не то поведение, которого я ожидал - я понимал, что ProxyPass перепишет содержимое в URL, но я думаю, что он действует так, как будто перенаправляет на "главный" хост.

Применяемый файл конфигурации довольно прост:

user@master:/etc/apache2/conf-enabled# cat multisite_proxy.conf
<Location /prod_east>
        ProxyPass http://east.domain.com/prod_east
        ProxyPassReverse http://east.domain.com/prod_east
</Location>

при использовании cURL мой вывод выглядит так:

user@master:~# curl -IL https://master.domain.com/prod_east/
HTTP/1.1 302 Found
Date: Thu, 17 Dec 2020 22:58:41 GMT
Server: Apache/2.4.38 (Debian)
Location: https://master.domain.com//prod_east/
Content-Type: text/html; charset=iso-8859-1

...

curl: (47) Maximum (50) redirects followed

В журналах Apache на востоке отображаются запросы cURL.

Если я просматриваю, http://east.domain.com/prod_eastменя перенаправляют на страницу входа в приложение (чего я и ожидал). Проверяя это с помощью cURL, я вижу:

user@master:~# curl -IL http://east.domain.com/prod_east
HTTP/1.1 302 Found
Date: Thu, 17 Dec 2020 23:17:38 GMT
Server: Apache/2.4.38 (Debian)
Location: https://east.domain.com//prod_east
Content-Type: text/html; charset=iso-8859-1

HTTP/1.1 302 Found
Date: Thu, 17 Dec 2020 23:17:38 GMT
Server: Apache
Location: https://east.domain.com/prod_east/subpath/
Content-Type: text/html; charset=iso-8859-1

HTTP/1.1 302 FOUND
Date: Thu, 17 Dec 2020 23:17:38 GMT
Server: Apache
Vary: Cookie
Cache-Control: no-cache
**Location: /prod_east/subpath/login.py?_origtarget=index.py**
Content-Type: text/html; charset=UTF-8

Последняя запись Location: заставляет меня задуматься: она говорит клиенту перенаправить на /prod_east/, но я ожидаю, что запрос будет сделан из east.domain.com-за правил ProxyPass.

Модуль Proxy включен, как и модуль перезаписи.

Есть помощь? Я явно чего-то не понимаю...

Заранее спасибо.

решение1

Проблема здесь была в том, что сайт "east" принудительно перенаправлял на HTTPS, а Apache не был настроен на проксирование содержимого TLS. После включения SSLProxy на "master" и обновления multisite_proxy.confдля ссылки на https (таким образом пропуская перенаправление HTTP->HTTPS) это теперь работает.

Связанный контент