Apache ProxyPass 到 Kubernetes 叢集中的服務

Apache ProxyPass 到 Kubernetes 叢集中的服務

我對位於 Kubernetes 叢集中的服務(也在網域敏感代理程式後面)的 ProxyPass 有問題。

這是我的配置:

<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 指令通常需要與 Apache 設定中類似的 proxypassreverse 指令搭配使用。

相關內容