docker — контейнер apache2 / php, работающий за обратным прокси-сервером, не учитывающий перенаправленный порт и прото в перенаправлениях?

Я использую модифицированную версию официальной библиотеки Docker php: 7.0.30-apache image за обратным прокси (traefik).
Изменения включают в себя замену обслуживающего порта 80 по умолчанию для Apache2 на порт 1025. (openshift не разрешает корневые операции, такие как открытие портов внутри док-контейнера ниже 1024)
Теперь при использовании перенаправлений внутри контейнера apache2 игнорирует HTTP_X_FORWARDED_PORT заголовок и перенаправляет на правильное имя хоста с добавленным портом 1025.

Пример:
Приложение работает в http://www.app.com (порт 80) публично, внутри http://app.local:1025 и при выполнении header("Location: web"); он перенаправляет на http://www.app.com:1025/web вместо http://www.app.com/web

Я также заметил следующее поведение:
Когда используешь .htaccess файлы для перенаправления на https браузеры отображают "too many redirects error" потому что оба HTTP_X_FORWARDED_PORT а также HTTP_X_FORWARDED_PROTO игнорируются

Что мне нужно сделать для .htaccess и php header("Location: xyz"); перенаправляет работу и уважает перенаправленные заголовки за обратным прокси?

Я понимаю, что это правильное поведение для запроса, поступающего с обратного прокси-сервера на хост apache, мне просто нужно настроить apache2, чтобы он реагировал на запрос, который был сделан к обратному прокси-серверу.

2

Решение

Задача ещё не решена.

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]