在 nginx 上禁用 Cloudlfare SSL 以使用证书

在 nginx 上禁用 Cloudlfare SSL 以使用证书

我使用 Nginx 托管一个 wordpress 网站,该网站配置为仅使用 SSL。不久前,我从 Cloudflare 激活了 Strict SSL 选项和 HSTS 选项。

现在我想禁用它并仅使用我的 SSL 证书。问题是,如果我从 Cloudflare 禁用 SSL 和 HSTS,当我尝试访问我的网站时,我会收到“重定向过多”错误。

我从浏览器中删除了 cookie 并刷新了页面,但仍然出现相同的错误。我不记得在 Cloudflare 上启用 HSTS 和 SSL 之前对我的 Nginx 配置做过任何特殊的事情,但我猜这个重定向问题来自 Nginx。

我该如何修复它?

答案1

根据您提供的少量信息,我最好的猜测是 HSTS 仍然有效,并且通过在 CloudFlare 上禁用 HTTPS,您已告知网站必须使用 HTTPS,并迫使 CloudFlare 仅支持 HTTP。我建议在 CloudFlare 中重新启用 HTTPS。

如果 CloudFlare 在您的网站前面提供 CDN 功能,则您无法使用自己的 HTTPS 证书 - CloudFlare 会使用自己的证书终止所有连接,至少在免费计划下是这样。如果您关闭 CloudFlare(DNS 页面中的橙色云变为灰色),则 CloudFlare 仅充当 DNS,浏览器会直接联系您的网站。这是使用您自己的证书的唯一方法 - 基本上就是关闭 CloudFlare。

另一种可能是,站点范围设置或页面规则指定了 CloudFlare 和您的网站之间的错误连接类型。严格 vs 完全 vs 灵活。这种情况让我困惑了一两次。

如果您发布指向您网站的链接,我们就可以了解实际情况。

答案2

您只能在 Cloudflare 付费计划中使用自定义证书:商业版或企业版。点击此处查看:https://www.cloudflare.com/plans/

答案3

您需要将 Cloudflare SSL 设置为完全(严格)。在我使用 letsencrypt.org 的情况下,它起作用了。

相关内容