原文地址: 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
1
just1 2017-06-25 18:29:46 +08:00 via Android
好像是自签证书吧,只能让 cf 访问使用。不能自己用来部署在外网
|
2
notgod 2017-06-25 19:43:42 +08:00 4
不要误导.... 最好说清楚
那个是 CF 提供的自签证书, 只能被 CF 识别为可信 是安装在 源站服务器上的 提供由 源站服务器 => Cloudflare EDGE 服务器的数据传输加密 如果你不使用 CloudFlare 的 CDN 了 这个证书是无法使用 和没安装一样 所有浏览器都会返回不可信 不了解 SSL 不要瞎扯淡, 随便用脚也能找到问题 谁家商业 SSL 能直接颁发 15 年期限的..... 你能保证别人公司能运营 15 年? 不用审核的? |
3
ivmm 2017-06-25 20:01:32 +08:00
看到 https://blog.jing.do/itsupport/
再看 “今天无意中发现 cloudflare 也能做免费证书了,而且还是 15 年的!! 15 年! 15 年!基本无忧无虑了!!!” 我觉得有点尴尬😅,说出这句话不像是 itsupport 里的水平 |
4
OneNian 2017-06-25 21:31:15 +08:00 via iPhone
这么多字也是辛苦啦
|
7
alect 2017-06-25 23:43:50 +08:00
这水平也就别写了……误导人
|
8
azuis 2017-06-25 23:54:32 +08:00 via iPhone
之前看到一个通知,好像是从明年开始商业证书最长只能签 24 个月了…
|
9
xbb7766 2017-06-26 00:02:12 +08:00
请检查 typo: “……切忌存好了,丢了没办法找回来。……”
╮(╯_╰)╭ |
10
kmahyyg 2017-06-26 07:11:40 +08:00 via Android
7F +1
|
11
dnscat 2018-05-26 20:47:38 +08:00
IIS 怎么配置呢
|