Cloudflare除了提供全球CDN加速,对于免费用户,它同样提供免费的https证书,并且这个https证书的有效期长达15年,于是给小站就使用了Cloudflare的免费https证书。
文章目录
为什么选择Cloudflare
之前一直用的Let’s Encrypt免费https证书。但是它3个月需要更新一次,虽然可以写脚本更新,但是它的规则似乎会变化,对应的启动命令也不一样。并且,我用它的ssl证书,使用长城宽带无法与我的站建立安全连接,ssl握手会耗费非常久的时间,而如果科学上网后再连接就没有问题,我不知道是不是长城宽带做了什么限制。
选择Cloudflare一是因为已经使用了它提供的CDN加速服务,另一个就是看中它证书的时长,有效期长达15年。
开启Cloudflare免费https
注册以及绑定域名就不再赘述了,详细可以参考我之前的一篇文章:开启Cloudflare免费CDN加速。
选择https加密模式
登录后,选择Crypto模块:
可以看到Cloudflare的免费https证书提供了4个层级,Off就是关闭https,Flexible就是http与https都可以访问,Full就是如果证书出了问题,会通过http请求继续访问,不会报错,而Full(strict)在https证书出问题的时候,因为全部时https连接,会直接报错。很明显,如果要全站做https,这里选择Full(strict)模式。
获取https证书
选择Create Certificate:
之后就可以看到安装证书的界面:
将第三项过期时间调成最长的15年,点击Next。之后你就可以得到一个origin certificate和一个private key。
服务器配置https证书
这里以Nginx为例配置Cloudflare免费https证书。
修改Nginx的配置文件,监听443端口,并且指向自己的证书地址:
listen 80 default_server; listen [::]:80 default_server; listen 443 http2 ssl; ssl_certificate /etc/flyzy2005.com.pem; # 对应origin certificate ssl_certificate_key /etc/flyzy2005.com.key; # 对应private key
之后重启Nginx,就可以看到全站都以及使用上了Cloudflare提供的https加密服务了~
我服务器上有自己的证书,也勾选了Full选项,然后现在提示我的网站使用了不受支持的协议。ERR_SSL_VERSION_OR_CIPHER_MISMATCH,这是咋回事
我有的网站也是用的自己的证书,选择最后一个没出现过你这个问题啊
请问如果过期后还可以继续申请这个证书吗?
或者再申请的话是否收费呢?
不收费,一直免费的
可以申请。
博主晚上好!请问我添加了这个证书后 访问网站https报红 是什么原因造成的呢?应该怎样解决
Cloudflare的https证书好像是要Cloudflare的CDN的?我记不太清了。可以用letsencrpy升级为HTTPS
非常感谢,确实是需要他家的cdn
请问证书上传到服务器后,前台是显示的15年证书吗?为什么我的上传了之后还是显示,cloudflare原有的1年通用证书呢?
什么叫前台显示?
就是打开网站之后,查看证书,显示的有效期是1年还是15年呢?
应该跟我的网站是一样的,不是15年。但是它会自动更新,你不需要管理。我的这个证书是从1月17号生效的,我没更新过。
好的,谢谢博主
请问博主一个问题,宝塔面板搭建的网站 开启cloudflareCDN加速 ,流量选择·经过Cloudflare的服务器,宝塔面板上的搭建的网站使用 Let’s Encrypt免费https证书就无法访问,如果不使用宝塔上提供的免费 SSL,使用 cloudflare的 SSL,网站访问就变的很慢 ,请问有什么解决的方法吗 谢谢~
宝塔我不太了解。你可以尝试在cloudflare把crypto里将sll设置成off
您好,这个生效需要多久呀,我的改过之后变成502了。。
502检查服务器的错误,https证书没有生效时间之说,时即时生效的
配置nginx那步,能加个修改后的图片吗?我修改后出错,想对比下
已经在QQ群回复你了
博主能给我个图片吗,我也需要
你要什么图?就是在 Nginx 里加证书就好了
1
2
3
4
5
listen 80 default_server;
listen [::]:80 default_server;
listen 443 http2 ssl;
ssl_certificate /etc/flyzy2005.com.pem; # 对应origin certificate
ssl_certificate_key /etc/flyzy2005.com.key; # 对应private key
这里是在default中新增还是修改?server那部分吗?
就是对监听443的server节点指定ssl证书
搞定了。多谢。评论后邮箱回复这个功能怎么搞的?写一篇呗。还有域名邮箱系统呢?
评论邮箱回复是主题里自带的,具体代码参考Kratos,搜索smtp关键字就能看到相关代码了。
域名邮箱以后有机会可以考虑一波。
Failed to validate requested hostname *.ourfirstdog.com: This zone is either not part of your account, or you do not have access to it. Please contact support if using a multi-user organization. (Code: 1010)
这是什么意思?有点不明白了。
你把DNS服务转到Cloudflare了吗?似乎是说无法验证你有这个域名的所有权
找到原因了,NameSilo那边的server name除了Cloudflare还多了一个NameSilo的。只保留Cloudflare的就ok了。DNS解析那里的配置能给我截个图吗?我不知道泛解析那个怎么配。
参考开启Cloudflare免费CDN加速
难怪是免费,而且15年,原来只是个外表,证书信息里面是颁发给sni209030.cloudflaressl.com而非本站点。
这有啥关系。你如果非要是颁给自己的,可以用Let's Encrypt,三个月更新一次
"修改Nginx的配置文件"这个的配置文件在哪找啊。。。小白表示很无力。。
vim /etc/nginx/sites-available/default
,可以参考:在Ubuntu上配置Nginx+MySQL+PHP7赞,好使了。。。
期间执行
nginx -t
又出了
SSL: error:0906D06C:PEM routines:PEM_read_bio:no start line:Expecting: TRUSTED CERTIFICATE
的问题,不知道啥情况,瞎改了一下,把**.pem最后加了一个回车就好了
然后一路绿灯。。。
同样问题我加回车没有用呀