Трафик за прокси Apache - PullRequest
0 голосов
/ 01 июня 2018

Я хотел бы попросить некоторой помощи, я работал с Traefik в течение 2-3 месяцев, мы создали инфраструктуру с помощью Docker Swarm, взяли 4 выделенных сервера в нашем кластере и использовали Traefik в качестве обратного прокси-сервера для контейнеров сdomain.

Несколько дней назад наш ИТ-отдел сломался и вынужден был воссоздать его, мы получили виртуальную машину, которая находится на выделенном сервере и также обрабатывает множество виртуальных машин, и здесь возникает проблема.Эта виртуальная машина не имеет общедоступного IP-адреса, она находится за прокси-сервером Apache, который обрабатывает все входящие запросы на 80 и перенаправляет на виртуальную машину, на которой работает Traefik.

Моя проблема заключается в том, что наши ИТ работали с Traefikкоторый был подключен напрямую к Интернету с публичным IP, но я не могу настроить Traefik для работы за этим прокси-сервером Apache, я всегда получаю минимальное сообщение об ошибке: страница 404 не найдена.

Виртуальная машина работает CentOS.

Если кто-то сталкивался с такой же проблемой и справился с решением, пожалуйста, ответьте, я надеюсь, что Traefik сможет работать за прокси-сервером Apache.Возможно, нам просто не хватает конфигурации домена / имени хоста на этой виртуальной машине, но я до сих пор не знаю, что делать.

1 Ответ

0 голосов
/ 06 июня 2018

Очевидно, что Apache перед traefik неправильно перенаправляет заголовок Host в traefik.

Чтобы проксировать ваши запросы в правильном бэкэнде, traefik использует стандартный HTTP-заголовок Host, который в основномимя хоста, запрошенное конечным пользователем (то, что он набрал в своем браузере).

Если перед этим установить apache и добавить правило прокси, как показано ниже:

ProxyPass / x.y.z.w
ProxyPassReverse / x.y.z.w

Гдеx.y.z.w - это IP-адрес traefik, заголовок Host будет переписан apache, чтобы быть x.y.z.w.

Это означает, что исходный Host, запрошенный пользователем, не будет потерян, и traefikбудет правильно включать прокси.

Чтобы Apache сохранил заголовок Host, исходящий от клиента при переадресации вызовов на прокси, необходимо добавить следующую конфигурацию:

ProxyPreserveHost On

Сразу после директив ProxyPass.

...