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

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 Config.

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