【问题标题】:Google Cloud Platform Target Pool HTTPS Health CheckGoogle Cloud Platform 目标池 HTTPS 健康检查
【发布时间】:2015-10-02 01:16:06
【问题描述】:

我正在尝试将纯 https 与我的计算引擎一起使用。我创建了一个网络负载均衡器,它转发到一个包含我的实例的池。但是,该池的运行状况检查不断失败,因为它不允许我配置使用 https 的运行状况检查。

我正在使用 apache 将 80 重定向到 443。有谁知道如何创建 https 健康检查或让 http 健康检查跟随重定向?

感谢您的帮助。

--编辑--

我终于在http://googlecloudplatform.blogspot.com/2015/07/Debugging-Health-Checks-in-Load-Balancing-on-Google-Compute-Engine.html 找到了一些文档。

失败 5:不直接使用 200 响应代码回答 Web 服务器可能被配置为重定向到返回 HTTP 200 响应代码的页面。健康检查不会跟随重定向;它期望健康检查页面直接返回 200。

我们合作过的所有其他托管服务提供商都支持此基本功能。为什么不能这样做?我错过了什么?

【问题讨论】:

  • 两年后,这个功能仍然缺失。这是否意味着每个 GCE 用户都公开一个仅用于健康检查的 HTTP 侦听器?

标签: google-compute-engine google-cloud-platform


【解决方案1】:

我花了一整天的时间尝试在 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 中报告了错误。 gcloud-ingress-controller 的文档可以在here 找到。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-05-27
    • 2017-11-24
    • 2018-06-16
    • 1970-01-01
    • 2014-10-02
    • 1970-01-01
    相关资源
    最近更新 更多