Apache ProxyPass для обслуживания в кластере Kubernetes

У меня проблема с ProxyPass для службы, которая находится в кластере Kubernetes (также за прокси-сервером, чувствительным к доменному имени).

Это моя конфигурация:

<LocationMatch "/service2">
    ProxyPass http://service2.mycluster.org Keepalive=On
</LocationMatch>

Когда я звоню в эту службу, я получаю 503.

Аналогичная конфигурация для автономных серверных приложений работает:

<LocationMatch "/service1">
    ProxyPass http://myserver.org:8012 Keepalive=On
</LocationMatch>

Единственное, что мне приходит в голову сейчас, это то, что Apache делает запрос к разрешенному IP, а не к доменному имени.

Поскольку запрос к моему автономному серверу, использующему IP, будет работать:

curl -f http://<myserverip>:8012

пока в кластер не выйдет

curl -f http://<myclusterip>

потому что доменное имя (service2.mycluster.org) используется для внутренней диспетчеризации.

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

1 ответ

Похоже, мне не хватает директив ProxyPassReverse. Каждую директиву proxypass обычно необходимо сопоставить с аналогичной директивой proxypassreverse в конфигурации Apache.

Другие вопросы по тегам