如何解决 cloudflare CNAME 记录上的 521 错误

How to resolve 521 errors on a cloudflare CNAME record

我以前做过十几次,但这次,我似乎无法使用 HTTPS 连接到我的网络服务器。我使用 eksctl 创建了一个 AWS EKS 集群。我使用 kubectl 部署了我的部署和服务。我有服务 URLs 正在解析端口 80.

我使用服务 URL,将它们放入 CNAME 记录中,Cloudflare 通过 http 而不是 https 解析。我收到 521 错误,当我在我的 Kubernetes 服务中接受端口 443 上的连接时,我收到 SSL handshake 错误。

让我感到困惑的是,我认为 Cloudflare 提供了一个 SSL 层,但在端口 80 上使用我的服务 URLs。似乎它正在将请求从 cloudflare:443 重定向到 my-eks-cluster:443.

我如何进一步调试它以深入了解正在发生的事情?

既然您的集群可以正常工作并接受流量,那么最可能的原因是您的 Cloudflare 配置中的 Encription mode

并且,根据您的 post,您将在原始端完全禁用 https

The thing that confuses me is I thought Cloudflare provided an SSL layer but using my service URLs on port 80. It seems though that it's redirecting requests from cloudflare:443 to my-eks-cluster:443.

因此,您可能需要检查 SSL 设置以确保当前 Encription modeOff

根据 Cloudlare 文档: Encryption modes · Cloudflare SSL docs

Mode Off Setting your encryption mode to Off (not recommended) redirects any HTTPS request to plaintext HTTP.