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 Config 中的类似 proxypassreverse 指令配合使用。

相关内容