使用Cloudflare的免费SSL证书

发布: 2020-05-02 06:34 / 访问: 100 次 / 开发笔记

随着像Google、百度等都表示将更亲和https站点,降权http站点,以及Chrome宣布对非https的站点,将标记为“不安全”的措施以来,全站启用https越来越将是未来的一个必然趋势,也是网站运营者对访问用户的一种安全责任。

CQjx7Y
CQjx7Y

目前诸多CDN服务商都开始提供免费的SSL证书服务,对于像我们这类小博客来说,使用免费的证书足以达到https的基本需求了。今天就来介绍一下申请Cloudflare的免费SSL证书,并配置到nginx上去。(前提要求,域名必须添加到Cloudflare当中,并将域名的NS配置为Cloudflare的NS服务器)

操作方法

HxUfgR
HxUfgR

打开对应域名的"Crypto"配置界面,找到右侧的选项卡进行选择。分别有Off Flexible Full Full (strict),在页面上的Help上可以找到一些介绍。

Off: 顾名思义就是不启用https访问,所有的https都将被重定向到http上

Flexible: 访问者到Cloudflare的连接是通过https协议,而Cloudflare到源站的连接是通过http协议,适用于那些无法把SSL证书配置到源站上的用户选择。

Full: 访问者到Cloudflare,再到源站的连接,都是通过https协议完成。但是并不会去验证Cloudflare到源站之间https协议证书是否为“自签”。

Full(strict): 与Full的都为全程https协议连接。但会验证Cloudflare到源站之间的https协议证书的合法性:“没有过期的可信机构签发的CA证书”

如果此处选择使用Flexible的话,我们就基本的完成了https的配置,因为在源站上可以不改变任何的配置,例如保持nginx上使用80端口的配置不变。如果此处我们选择了FullFull(strict),则可以使用Cloudflare创建一个免费的证书。

GNqlN4
GNqlN4
a5bURh
a5bURh

我们可以把Always USE HTTPS打开,这样所有的http请求会通过cloudflare这边,重定向到https上

UUvTZ0
UUvTZ0

配置nginx

之后根据你自己的需求选择不同的签发形式,我这里选择默认的形式,拿到证书和私钥。通过FTP上传到VPS上,再配置nginx,即可实现全程都加密的https访问了。

ssl on;
ssl_certificate /usr/local/nginx/conf/ssl/xxx.crt;
ssl_certificate_key /usr/local/nginx/conf/ssl/xxx.key;

wdfWot
wdfWot

这样,我们的工作便完成了!

一些问题

配置nginx可能会遇到PEM_read_bio_X509_AUX这样的错误提示,可能是在copy证书时,字符少拷贝了,或者多打了一些字符,重新copy一下即可解决

发表评论