【发布时间】:2015-03-22 20:22:54
【问题描述】:
如果这个问题已经在其他地方被问过,我很抱歉,但我已经为此苦苦挣扎了好几天。
我正在尝试在私有服务器上设置 CloudFoundry 虚拟机。 Cloud Foundry 实例运行良好,我的测试 REST 服务部署在路由 rest 上。
使用 ssh 进行连接时,以下使用 curl 的测试按预期工作:
curl rest.10.244.0.34.xip.io
我正在尝试在私有服务器上设置 apache 配置,以便将部署在 CloudFoundry VM 上的应用程序公开到互联网。
我创建了一个 DNS 条目,例如 cloud.MY_PUBLIC_IP 和 *.cloud.MY_PUBLIC_IP,同时引用 MY_PUBLIC_IP,并希望能够使用以下两个 URL 之一访问部署在 CloudFoundry VM 上的应用程序:
application-route.cloud.MY_PUBLIC_IPcloud.MY_PUBLIC_IP/application-route
防火墙已禁用。
我不确定使用 apache vhost 或 proxy 是否可行。
到目前为止,我创建了以下虚拟主机配置:
<VirtualHost *:80>
ServerName cloud.MY_PUBLIC_NAME.ch
ProxyPass / http://10.244.0.34.xip.io/
ProxyPassReverse / http://10.244.0.34.xip.io/
ProxyRequests Off
RewriteEngine On
RewriteCond %{HTTP_HOST} ^cloud\.MY_PUBLIC_NAME\.ch$ [NC]
RewriteRule ^/([^/]+)/(.*)$ http://$1.10.244.0.34.xip.io/$2 [P,L]
</VirtualHost>
cloud.MY_PUBLIC_IP 确实将我重定向到10.244.0.34.xip.io,但我无法访问任何已部署的应用程序...
非常感谢您的任何帮助。
【问题讨论】:
-
我在这里没有完整的答案,但通常到您的 CF 安装的流量是这样的:浏览器 -> HTTP(S) -> LB -> HTTP -> gorouter(s) - > 应用程序。重要的部分是 a.) 流量来自用户到负载均衡器 b.) 负载均衡器在需要时终止 SSL 和 c.) 负载均衡器转发到可能的许多 go 路由器实例之一。您应该知道 gorouter 实例的 IP 地址,因为您在 CF 安装期间设置了它们。在您的情况下,如果 HTTPD 是您想要设置 ProxyPass 以指向您的 gorouter 的负载均衡器。确切的配置可能会有所不同。
标签: apache cloud-foundry mod-proxy