Cloudflare搭配Nginx实现SSL
前置参考: [[Backblaze B2、Cloudflare和PicGo搭建免费图床]]
1. 确保 Cloudflare 中网站 DNS 配置开启代理
2. 生成 Origin CA TLS 证书
能建 15 年全域名证书!
生成 PEM
格式证书,复制分别保存至本地文件 example.com.pem
和 example.com-key.pem
文件。
注意
- 这里 key 也需要保存为
pem
格式文件- 私钥只在此刻展示,之后不会再出现
之后可以在这里通过 下载
查看证书,但无法查看私钥,如果忘记,请 吊销
后重新 创建证书
。
3. Nginx 配置
1 | server { |
在 Cloudflare 中设置加密模式为 完全(严格)
4. 设置 Authenticated Origin Pull
我们可以通过 TLS 客户端身份验证来验证我们的 Nginx 服务器是否正在与 Cloudflare 通信。
客户端身份验证的 TLS 握手中,双方都提供要验证的证书。服务器配置成为仅接受使用 Cloudflare 的有效客户端证书的请求才能通过,未通过 Cloudflare 的请求将被丢弃,因为它们没有 Cloudflare 证书。这样可以防止攻击者无法绕过 Cloudflare 的安全措施,直接连接到 Nginx 服务器。
我没有配置,具体配置参考: https://www.digitalocean.com/community/tutorials/how-to-host-a-website-using-cloudflare-and-nginx-on-ubuntu-20-04#step-3-setting-up-authenticated-origin-pulls
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 技术分享!