修复 Cloudflare SSL 上的重定向循环

如果您使用 Cloudflare 代理向互联网服务器的 IP 地址,并且遇到了导致系统陷入重定向循环的故障。

最终,请求超时并显示“超时次数过多”。

这可能会让我们知道,我们将网站为何可能陷入重定向循环困境

让我们开始吧!

为什么?

如果您使用 Cloudflare 为访问者提供服务,您可以访问Cloudflare 的 TLS 证书到外部传输这些 Web 请求。当您使用灵活的 SSL 选项时,Cloudflare 将通过 HTTP连接连接到您的站点,并通过HTTPS连接将响应转发给访问者。

如果您的服务器上的 Nginx 或 Apache2 服务器在 WordPress 处理这些请求之前看到它们。WordPress 通过 HTTP 协议处理这些请求 – 这会导致显示混合内容警告。这意味着您的某些内容通过 HTTP 提供,而其他内容则通过安全连接传输。

如果您尝试通过手动将 URL 从 HTTP 更新为 HTTPS 来解决此问题,那么这将会引发重定向循环。

发生这种情况的原因,当您将网站配置为通过HTTPS 提供内容时,它只会通过HTTPS 提供内容。如果用户发出不安全的请求,服务器会要求他们使用HTTPS 连接发出新请求。通常这不是问题,但如果您的服务器配置错误,就会发生错误。

Cloudflare 代理如何工作?

如果 Cloudflare 服务器向发出不安全的请求,而您将其重定向回另一台 Cloudflare 服务器,则会导致无限循环。每台服务器都会要求另一台服务器处理请求,直到达到最大请求数。

如何规划?

有一些方法可以解决这个问题。以下是解决重定向循环问题的一些简单方法。

使用 Cloudflare 页面规则

解决此问题的简单方法更新Cloudflare 仪表板上的设置。

您可以配置 Cloudflare 的重定向规则,使用状态代码 301来表明网页已永久移动。

在 Cloudflare 仪表板中,打开要配置的域,然后在页面规则子菜单中查找重定向规则部分。然后创建转发规则以告诉 Cloudflare 将HTTP 请求转发到 HTTPS 

Cloudflare 仪表板的原型,显示原型页面。

例如,如果您的 WordPress 地址是https://blog.runcloud.io ,请为http://blog.runcloud.io/创建规则并使用带有301重定向的完整 URL设置。 

更新 CloudFlare TLS 设置

为了确保您不会陷入重定向循环,请使用“完整”“完整(严格)”设置,以便所有 Web 请求使用HTTPS 连接进行

Cloudflare 仪表板的架构,显示 SSL/TLS 设置。

在 RunCloud 中使用 SSL 证书

如果您使用 RunCloud 管理服务器,则可以轻松为所有域配置 TLS 证书。只需转到 Web 应用程序的域部分,然后单击要保护的域的“配置 SSL/TLS”按钮即可。

RunCloud 门户的实施,显示如何进行数据加密。

单击该选项后,您将被要求选择是否要使用Let’s Encrypt或其他 SSL 提供商,如果您不确定,请使用 Let’s Encrypt,因为它是免费的 – 并且与其他提供商一样安全。

之后,您可以配置如何验证域名的所有权,以及所需的证书类型。除非您需要某些特定设置,否则您可以将这些设置保留为默认值。 

最后,您需要指定当有人尝试通过不安全的连接访问您的域时会发生什么。我们建议使用HSTS选项,该选项要求所有用户仅使用安全连接进行所有 Web 请求。但是,您应该知道,一旦启用此选项,您将无法通过 HTTP 连接提供任何内容。

RunCloud 仪表板的提供者,显示如何配置 SSL/TLS 设置。

行动后报告

Cloudflare 上的“重定向过多”错误可能令人沮丧,但可以通过更新服务器上配置错误的设置轻松修复。按照本文概述的步骤,您将能够更新网站的设置并调整 SSL 证书。

如果您仍然难以解决问题,则应考虑切换到更用户友好的服务器管理平台,例如RunCloud。 使用 RunCloud,您只需单击几下即可轻松管理服务器并颁发 SSL 证书,对于想要无忧解决方案的 WordPress 用户来说,这是一个不错的选择。

如果您觉得拥有一个轻松的服务器配置,以便您不需要花费数小时来弄清楚,这听起来是个好主意(谁不喜欢呢?) –立即开始使用 RunCloud,并在几分钟内启动并运行。

发表评论

您的邮箱地址不会被公开。 必填项已用 * 标注

滚动至顶部