我對位於 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 指令搭配使用。