我试图用我的计算引擎纯粹使用https。我创建了一个网络负载均衡器,它将我的实例转发到池中。但是,池经常无法进行运行状况检查,因为它不允许我配置使用https的运行状况检查。
我正在使用apache重定向80到443.有没有人知道如何创建https运行状况检查或http健康检查遵循重定向?
谢谢你的帮助。
- 编辑 -
失败5:不直接回复200响应代码Web服务器可能配置为重定向到返回HTTP 200响应代码的页面。健康检查不会遵循重定向;它希望健康检查页面直接返回200。
我们所使用的每个其他托管服务提供商都支持这一基本功能。为什么不能这样做?我错过了什么?
我花了一整天时间尝试在GCloud中为带有入口控制器的Kubernetes集群配置纯粹的基于https的负载均衡器。
我终于让它工作了,所以也许我与那些努力使用相同配置的人分享我的经验。如果实例的运行状况检查失败,您通常会看到以下内容访问您的网站URL。
Error: Server Error
The server encountered a temporary error and could not complete your request.
Please try again in 30 seconds.
1)协议:GCloud引入了新的健康检查,可以为HTTPS,SSLTCP, SSL, HTTP, HTTPS, or HTTP/2 probing配置。这可以帮助解决原始问题,以防止从端口80重定向到端口443。
2)路径:最常见的问题是应用程序的“/”路径不会返回200 OK,从而导致运行状况问题失败。这可以通过向健康检查添加路径参数来防止,例如“/指数”。
3)Ingress HTTPS:这相对简单。向ingress.yaml添加机密或预共享证书将自动生成HTTPS负载均衡器而不是HTTP。要了解的更多信息,请访问here
最后,来自Setting up HTTP Load Balancing with Ingress文档的指南。
但是,即使新的HTTPS运行状况检查似乎有效,它们仍然处于测试阶段,并且在issue tracker中报告了错误。可以在here找到gcloud-ingress-controller的文档。