【转】七牛免费SSL证书,配置自定义域名CDN加速
原文链接:https://excaliburhan.com/post/use-qiniu-ssl-and-cdn.html
申请七牛SSL证书
其实,七牛在很早之前就支持CDN使用https,但是他要求证书的有效期是一年及以上,而我的主站用了Let's Encrypt的免费SSL证书,有效期90天,自动续签的形式。所以,为了使CDN的图片也是https的,一直采用了七牛默认的xxx.qnssl.com域名。
在11月,七牛发布了免费SSL证书,亚洲诚信的DV证书。申请起来也很简单,参见七牛SSL证书申请。当然,申请的证书只能用于CDN加速。
绑定自定义域名
通过个人面板-证书管理,我申请了域名为static.excaliburhan.com的SSL证书,验证成功后,接下来就是绑定自定义域名了。进入七牛云空间首页,点击对象存储,选择你想要使用https的bucket,在融合 CDN加速域名自定义域名点击右边,进行添加自定义域名。
在通信协议选项中选择HTTPS,可以选择或者手动填写证书。如果申请成功,下拉就可以看到我们的证书了。选中后,七牛会自动填写证书内容和私钥。这时,不要急着点击完成,将证书内容复制保存为certificate.crt(名字可以自行改,后缀需要保持一下,下同),将私钥内容复制保存为certificate.key,为后面配置做准备。这么做的原因主要是,我不知道怎么去下载证书内容和私钥,所以就采用这种比较原始的方法了。如果你知道的话,请告诉我。
最后,填完所有内容之后,点击创建即可。这时,添加的域名应该还处于审核状态,需要你添加CNAME,按照要求填写CNAME之后,进入nginx设置环节。
nginx设置
由于我的主站使用的Let's Encrypt证书,并且没有进行泛域名的配置,实际上Let's Encrypt也暂时不支持。那么,对static.excaliburhan.com进行设置。
首先,我们需要把保存的certificate.crt和certificate.key传到服务器的相应目录,我这的目录是/etc/nginx/certs。nginx简单配置如下。
server {
listen ssl http2;
server_name static.excaliburhan.com;
ssl on;
ssl_certificate /etc/nginx/certs/certificate.crt;
ssl_certificate_key /etc/nginx/certs/certificate.key;
}
重启nginx,将七牛CDN的域名换成自定义的域名,发现Chrome报错:隐私设置错误。研究发现,主要是我nginx主站设置了HSTS和HPKP,并且都设置了includeSubDomains。而我的主站使用的SSL证书和七牛的SSL证书并不是一个厂商,所以,请求被当成了劫持攻击了!
add_header Strict-Transport-Security "max-age=31536000; includeSubDomains; preload";
add_header Public-Key-Pins ...(pin-sha256指纹设置);max-age=; includeSubDomains;
解决方法就是去掉includeSubDomains。
add_header Strict-Transport-Security "max-age=31536000";
add_header Public-Key-Pins ...(pin-sha256指纹设置);max-age=;
而且我还去掉了preload,原因有二,一是preload list申请必须包含includeSubDomains;二是个人网站申请Chrome的preload list基本无效。
除此之外,还要添加七牛SSL证书的CA的Public Key指纹,七牛的SSL证书是TrustAsia DV SSL CA - G5,指纹是IiSbZ4pMDEyXvtl7Lg8K3FNmJcTAhKUTrB2FQOaAO/s=。当然你也可以采用根证书VeriSign Class 3 Public Primary Certification 的指纹:JbQbUG5JMJUoI6brnx0x3vZF6jilxsapbXGVfjhN8Fg=。不推荐使用站点证书生成的指纹。
添加完毕后,使用service nginx restart重启nginx即可。
侵删
【转】七牛免费SSL证书,配置自定义域名CDN加速的更多相关文章
- 七牛免费SSL证书申请全流程
购买证书 在七牛ssl 首页点击购买 购买限免证书 补全订单信息 免费证书,随意填写,问题不大 购买成功,查看订单详情,获取 TXT 值信息 添加 DNS TXT 验证 根据上一步,查看证书订单详情, ...
- 最便捷的免费 SSL 证书解决方案(实测start SSL、Let's Encrypt、七牛免费SSL证书)
谷歌从 2017 年起,Chrome 浏览器将也会把采用 HTTP 协议的网站标记为「不安全」网站:苹果从 2017 年 iOS App 将强制使用 HTTPS:在国内热火朝天的小程序也要求必须使用 ...
- 最新阿里云服务器免费SSL证书配置HTTPS的两种方法(图文教程二)
在大家学习如何利用免费SSL证书配置网站HTTPS之前,我们先要搞清楚为什么要开启HTTPS,这个绿色的小锁真的有用吗?所谓的HTTPS其实是(安全套接字层超文本传输协议)是以安全为目标的HTTP通道 ...
- Nginx https免费SSL证书配置指南
生成证书 $ cd /usr/local/nginx/conf $ openssl genrsa -des3 -out server.key 1024 $ openssl req -new -key ...
- 超详细网站博客域名和二级域名、子域名升级HTTPS免费申请SSL证书配置nginx指南
随着互联网的飞速发展,我们的工作生活已经离不开互联网,HTTP虽然使用极为广泛, 但是存在不小的安全缺陷, 主要是其数据的明文传送和消息完整性检测的缺乏, 而这两点恰好是网络支付,网络交易等网站应用中 ...
- 八大免费SSL证书-给你的网站免费添加Https安全加密
评论» https://www.freehao123.com/top-8-free-ssl-cert/ 文章目录 Let's Encrypt StartSSL SSL CloudFlare SSL ...
- 实战申请Let's Encrypt永久免费SSL证书过程教程及常见问题
最近需要https这里看到一份不错的博客,收录一下! Let's Encrypt作为一个公共且免费SSL的项目逐渐被广大用户传播和使用,是由Mozilla.Cisco.Akamai.IdenTrust ...
- 申请Let’s Encrypt永久免费SSL证书过程教程及常见问题
配置证书https://easy.zhetao.com/ 虽然目前Let’s Encrypt免费SSL证书默认是90天有效期,但是我们也可以到期自动续约,不影响我们的尝试和使用,为了考虑到文章的真 ...
- 七牛云创建存储空间并绑定自定义域名-https协议
七牛云创建存储空间并绑定自定义域名-https协议 一.准备 0.绑定自定义域名的前提:你起码拥有过一个备案过的域名[一级域名] 1.在七牛云创建一个存储空间 2.存储空间绑定自定义域名(cdn加速) ...
随机推荐
- Codeforces Round #524 (Div. 2) C. Masha and two friends 几何:判断矩形是否相交以及相交矩形坐标
题意 :给出一个初始的黑白相间的棋盘 有两个人 第一个人先用白色染一块矩形区域 第二个人再用黑色染一块矩形区域 问最后黑白格子各有多少个 思路:这题的关键在于求相交的矩形区间 给出一个矩形的左下和 ...
- 使用idea搭建SSM框架
搭建个SSM框架居然花费了我好长时间!特此记录! 需要准备的环境: idea 2017.1 jdk1.8 Maven 3.3.9 请提前将idea与Maven.jdk配置好,本次项目用的都是比较新的 ...
- QT 13 窗口屏幕设置大小与居中显示
<pre name="code" class="cpp">#include "mainwindow.h" #include &l ...
- java Arrays数组
1.java.util.Arrays 工具类的使用Arrays 类中的常用方法1) toString()打印数组2) equals()比较两个数组是否相同3) copyOf(…)复制指定的数组 (效率 ...
- LOJ2538 PKUWC2018 Slay the Spire DP
传送门 不想放题面了,咕咕咕咕咕 这个期望明明是用来吓人的,其实要算的就是所有方案的最多伤害的和. 首先可以知道的是,能出强化牌就出强化牌(当然最后要留一张攻击牌出出去),且数字尽量大 所以说在强化牌 ...
- 格式化angularjs日期'/Date(-62135596800000)/'
在实现在angularjs时,发现经序列化后的日期需要格式化显示. 翻看以前的博客,似乎有写过一篇有关js方面的解决办法<格式化json日期'/Date(-62135596800000)/'&g ...
- 使用Hexo+Github搭建属于自己的博客(基础)
前言 hexo是一个台湾人做的基于Node.js的静态博客程序,优势是生成静态文件的速度非常快,支持markdown, 我最终选定它的原因是它速度快而且不容易出错,并且可以一键部署到github或者其 ...
- 一个JAVA程序员成长之路分享
我搞JAVA也有些日子了, 因为我比较贪玩,上进心不那么强, 总是逼不得已为了高薪跳槽才去学习, 所以也没混成什么大牛, 但好在现在也已经成家立业, 小日子过的还算滋润, 起码顶得住一月近万元的吃喝拉 ...
- Vue 实际项目中你可能会遇见问题
纸上得来终觉浅,绝知此事要躬行! Vue的文档和教程看的太多,小的demo做的多,也不如自己实际的进行一个完整项目的开发.只有做了才知道原来问题这么多,这里列举了一些你做demo教程可能不会遇见的坑. ...
- C#使用FFMPEG推流,并且获取流保存在本地,随时取媒体进行播放!
最近开发了基于C#的推流器一直不大理想,终于在不懈努力之后研究了一点成果,这边做个笔记:本文着重在于讲解下如何使用ffmpeg进行简单的推流,看似简单几行代码没有官方的文档很吃力.并获取流的源代码:如 ...