amazon-web-services - 如何解决 cloudflare CNAME 记录上的 521 错误

标签 amazon-web-services ssl kubernetes cloudflare amazon-eks

我之前已经这样做过十几次了,但这一次,我似乎无法使用 HTTPS 连接到我的 Web 服务器。我使用 eksctl 创建了一个 AWS EKS 集群。我使用 kubectl 部署了部署和服务。我有在端口 80 上解析的服务 URL。

我获取服务 URL,将其放入 CNAME 记录中,Cloudflare 通过 http 而非 https 进行解析。我收到 521 错误,当我在 Kubernetes 服务中接受端口 443 上的连接时,收到 SSL 握手 错误.

令我困惑的是,我认为 Cloudflare 提供了 SSL 层,但在端口 80 上使用我的服务 URL。看起来它正在将请求从 cloudflare:443 重定向到 my-eks-cluster:443

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

最佳答案

既然您的集群可以正常工作并接受流量,那么最可能的原因是您的 Cloudflare 配置中启用了加密模式

并且,根据您的帖子,您将在源端完全禁用 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 设置以确保当前加密模式关闭

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

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

关于amazon-web-services - 如何解决 cloudflare CNAME 记录上的 521 错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/69528164/

相关文章:

amazon-web-services - 让多个ec2实例执行远程脚本

android - 我在高速公路 websocket 中使用 wss 时无法通信,为什么?

java - 通过 HTTPS 使用 HttpClient 信任所有证书

kubernetes - ReplicationControllerStatus.replicas 下集群 API 返回的 Pod 的状态是什么

amazon-web-services - 没有 dns 的 Kubernetes Kops

docker - 在 kubernetes 中运行的命令挂起

java - AmazonS3分段上传

python - 我如何通过 boto3 获取 aws 卷的可用大小

c - C 中的 SSL 密码帮助

ssl - 调用 UploadServerCertificate 操作时出现客户端错误(MalformedCertificate) : Private key was in an unrecognized format