跳转到内容
搜索文档

ERR_TOO_MANY_REDIRECTS(重定向过多)

最后更新 查看 MarkdownAgent 设置

在 Cloudflare 添加新域名后,访客的浏览器可能显示 ERR_TOO_MANY_REDIRECTSThe page isn't redirecting properly 错误。

此错误发生在访客陷入重定向循环时。

flowchart LR
accTitle: Redirect loops illustration
A[Request for <code>http://</code><code>example.com</code>] --> B[Redirect to <code>https://</code><code>example.com</code>]
B --> C[Redirect to <code>http://</code><code>example.com</code>]
C --> B
subgraph Redirect Loop
B
C
end

此错误通常由以下原因引起:


加密模式配置错误

您域名的 SSL/TLS 加密模式控制 Cloudflare 如何连接到源站服务器,以及如何验证源站呈现的 SSL 证书。

当您在 Cloudflare 中设置的值与源站 Web 服务器上的设置冲突时,此设置可能导致重定向循环。

灵活加密模式

如果您的域名加密模式设置为 Flexible(灵活),Cloudflare 通过 HTTP 向源站服务器发送未加密请求。

如果源站服务器自动将所有 HTTP 请求重定向到 HTTPS,将发生重定向循环。

flowchart TD
accTitle: Redirect loops illustration for Flexible mode
A[Request for <code>https://</code><code>example.com</code>] --> B[Encryption mode redirects to <code>http://</code><code>example.com</code>]
B --> C[Origin server redirects to <code>https://</code><code>example.com</code>]
C --> B
subgraph Cloudflare
B
end
subgraph Origin server
C
end

要解决此问题,请从源站服务器移除 HTTPS 重定向,或将 SSL/TLS 加密模式更新为 Full(完全) 或更高(需要在源站服务器上配置 SSL 证书)。

Full 或 Full (strict) 加密模式

如果您的域名加密模式设置为 Full(完全)Full (strict)(完全严格),Cloudflare 通过 HTTPS 向源站服务器发送加密请求。

如果源站服务器自动将所有 HTTPS 请求重定向到 HTTP,将发生重定向循环。

flowchart TD
accTitle: Redirect loops illustration for Full or Full (strict) mode
A[Request for <code>http://</code><code>example.com</code>] --> B[Encryption mode redirects to <code>https://</code><code>example.com</code>]
B --> C[Origin server redirects to <code>http://</code><code>example.com</code>]
C --> B
subgraph Cloudflare
B
end
subgraph Origin server
C
end

要解决此问题,请从源站服务器移除 HTTP 重定向。


边缘证书设置

Always Use HTTPS

如果您为域名启用了 Always Use HTTPS(始终使用 HTTPS),Cloudflare 会将应用程序中所有子域名和主机的所有 http 请求重定向到 https

如果源站服务器自动将所有 HTTPS 请求重定向到 HTTP,将发生重定向循环。

flowchart TD
accTitle: Redirect loops illustration for Always Use HTTPS
A[Request for <code>http://</code><code>example.com</code>] --> B[Always Use HTTPS redirects to <code>https://</code><code>example.com</code>]
B --> C[Origin server redirects to <code>http://</code><code>example.com</code>]
C --> B
subgraph Cloudflare
B
end
subgraph Origin server
C
end

要解决此问题,请从源站服务器移除 HTTPS 重定向,或禁用 Always Use HTTPS(始终使用 HTTPS)

HSTS

如果您为域名启用了 HTTP Strict Transport Security (HSTS),Cloudflare 会指示兼容的 Web 浏览器将 http 链接转换为 https 链接。

如果源站服务器自动将所有 HTTPS 请求重定向到 HTTP,或您的域名加密模式设置为 Off(关闭),将发生重定向循环。

flowchart TD
accTitle: Redirect loops illustration for HTTP Strict Transport Security
A[Request for <code>https://</code><code>example.com</code>] --> B[Encryption mode redirects to <code>http://</code><code>example.com</code>]
B --> C[HSTS redirects to <code>https://</code><code>example.com</code>]
C --> B
C --> D[Origin server redirects to <code>http://</code><code>example.com</code>]
D --> C
subgraph Cloudflare
B
C
end
subgraph Origin server
D
end

要解决此问题,请从源站服务器移除 HTTPS 重定向,并确保域名加密模式为 Flexible(灵活) 或更高。

或者,禁用 HTTP Strict Transport Security (HSTS)(HTTP 严格传输安全)


重定向规则

如果 URL 重定向冲突,也可能发生重定向循环。

flowchart TD
accTitle: Redirect loops illustration for redirect rules
A[Request for <code>https://</code><code>a.example.com</code>] --> B[Redirect to <code>http://</code><code>b.example.com</code>]
B --> C[Redirect to <code>https://</code><code>a.example.com</code>]
C --> B
subgraph Cloudflare
B
C
end

要解决此问题,请检查各种重定向规则Page Rules,确保规则之间没有冲突。

这篇文档对您有帮助吗?