---
title: "网站设置 https 后，再使用 cloudflare 设置 CDN 导致“重定向次数过多”"
url: "https://yjyj.net/learn/6023.html"
author: "小 虾 (生猛大蝦编辑部)"
published_at: "2019-05-23T12:49:46+08:00"
updated_at: "2019-05-23T12:49:46+08:00"
categories: "招数学习"
tags: "CDN, cloudflare, Linux运维, SSL, 服务器安全"
summary: "网站启用 HTTPS 后又接入 Cloudflare CDN，却突然出现“重定向次数过多”？本文用真实排障过程说明 Flexible、Full、Strict 三种 SSL 模式的区别，以及源站已装 Let’s Encrypt 证书时为何要改用 Full，快速解决循环跳转问题。"
source: "生猛大蝦 (https://yjyj.net)"
---

# 网站设置 https 后，再使用 cloudflare 设置 CDN 导致“重定向次数过多”

> 来源：[生猛大蝦 (yjyj.net)](https://yjyj.net/learn/6023.html) · 作者：小 虾 · 发布时间：2019-05-23

## 30 秒核心看点 (TL;DR)

- 源站已开启 HTTPS，再把 Cloudflare 设成 Flexible，容易触发重定向循环。
- 如果服务器已有 SSL 证书，优先把 Cloudflare SSL 模式改为 Full。
- 本文的实操结论很直接：改完 SSL 模式后，网站立刻恢复正常访问。

今天突然发现囧客圈无法访问了，浏览器提示“重定向次数过多”
多番搜索之后才发现原来是我在 cloudflare 的设置有问题，根据 cloudflare 的官方提示：
`
如果您的源服务器上没有 SSL 证书，或者仅仅无法使用端口 443 获得 Web 流量，则需要在 Cloudflare 仪表板中使用 Flexible 设置。如果在服务器上没有 SSL 证书的情况下选择“完全”或“严格”，将导致 525/526 错误

如果在您的源服务器上有 http 到 https 的重定向时选择 Flexible，将导致重定向循环（另请参阅  使用 Flexible SSL 时解决重定向循环）。在这种情况下，假设源服务器上有 SSL 证书，您应该使用“完全”或“完全(严格)”。

如果您知道服务器上有 SSL 证书（甚至是自签名证书），则可以使用“完全”设置。

如果您有受信任的证书颁发机构颁发的有效证书，则使用严格模式来提供对中间人攻击的额外防御，以及您的 Web 服务器和我们的边缘之间的更多信任。 
`
我在服务器获取了 Let's Encrypt 免费证书，估计就是导致出问题的地方了
按照官方的提示，把 SSL 设置为 “Full” 后，再次访问网站就正常了。
记录一下，用以备忘

感谢：https://support.cloudflare.com/hc/zh-cn/articles/200170566-%E4%B8%BA%E4%BB%80%E4%B9%88-SSL-%E4%B8%8D%E9%80%82%E7%94%A8%E4%BA%8E%E6%88%91%E7%9A%84%E7%AB%99%E7%82%B9-

## 延伸问答与排错指南 (FAQ)

### 网站启用 HTTPS 后为什么会重定向次数过多？
常见原因是源站已经把 HTTP 强制跳转到 HTTPS，而 Cloudflare 又用了 Flexible 模式，边缘与源站之间协议不一致，形成循环跳转。此时应检查源站证书和 Cloudflare SSL 设置，通常改为 Full 更合适。

### Cloudflare 的 Flexible 和 Full 有什么区别？
Flexible 只加密访客到 Cloudflare 的连接，Cloudflare 到源站仍可走 HTTP；Full 则要求源站也支持 HTTPS，即使是自签名证书也可用。若源站已装证书，通常应选 Full，避免重定向循环。

### 源站装了 Let’s Encrypt 证书后该怎么配 Cloudflare？
如果源站已经有有效 SSL 证书，Cloudflare 一般不要再用 Flexible。先确认站点本身 HTTPS 可正常访问，再把 SSL 模式切到 Full；若证书可信且配置完整，再考虑更严格的模式。

---
更多 Linux 运维、WordPress 性能优化、前端工程化、Shopify 独立站与极客折腾指南：[生猛大蝦全站文章归档 (https://yjyj.net/archive)](https://yjyj.net/archive)
