原文地址: https://blog.jing.do/4116
之前提到过用 cloudflare 可以用他的 https 证书,但是仅限于 client 到 cloudflare 的,从 cloudflare 到服务器的证书(安装在服务器上)并没有办法制作,还需要我们自己想办法。
但 cloudflare 提供了人性化的 SSL 设置,你即便服务器没有 HTTPS 证书,不是用 https 协议,也可以让网站成为 https。这里简单介绍下他的 SSL 设置的几个不同层级的含义(之前踩过坑):
如图,他分为四个层级,如果你不想 https 加密,那直接 off 就行,flexible 的话,既能 https 访问也能 http,也就是 80 和 443 端口都可以访问。最难搞懂的是 full 和 full(strict),两者都是全站完全 https,前者和后者不同的是,前者如果你的证书过期了,或者证书有问题,他不会出现错误提示,会继续通过 80 端口访问,而后者则全部加密链接,如果服务器证书出问题了,就会报错。
很明显,如果真要做 https 的话,肯定是选择后者 full(strict),但是问题随之而来,之前我提过用 lets encrypt 的免费证书(详见:《 Let ’ s Encrypt SSL 证书安装( CentOS+Nginx) 以及评分和自动更新》)。但是他的证书自动更新老出问题(他规则在变),所以很烦。今天无意中发现 cloudflare 也能做免费证书了,而且还是 15 年的!! 15 年! 15 年!基本无忧无虑了!!!
———————————–以下是教程———————————–
登陆 cloudflare 然后进入你的域名,然后点击 crypto 选项,在下面找到 original certificate (如图)
点击后,选择一个加密方式,进入下一步。这时候给你了 2 个密文。复制上面的保存为 domain.pem,下面的为 domain.key,名字自己定,切忌存好了,丢了没办法找回来。被写入或者盗取了,会导致网站加密被破解。
之后就是服务器配置了,下面是 nginx 的例子:
去 nginx.conf,在 server (注意是 443 端口)下加入以下:
ssl on;
ssl_certificate /home/https/hellogwu.pem;
ssl_certificate_key /home/https/hellogwu.key;
之后重启即可
service nginx restart
这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。
V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。
V2EX is a community of developers, designers and creative people.