原文链接: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加速的更多相关文章

  1. 七牛免费SSL证书申请全流程

    购买证书 在七牛ssl 首页点击购买 购买限免证书 补全订单信息 免费证书,随意填写,问题不大 购买成功,查看订单详情,获取 TXT 值信息 添加 DNS TXT 验证 根据上一步,查看证书订单详情, ...

  2. 最便捷的免费 SSL 证书解决方案(实测start SSL、Let's Encrypt、七牛免费SSL证书)

    谷歌从 2017 年起,Chrome 浏览器将也会把采用 HTTP 协议的网站标记为「不安全」网站:苹果从 2017 年 iOS App 将强制使用 HTTPS:在国内热火朝天的小程序也要求必须使用 ...

  3. 最新阿里云服务器免费SSL证书配置HTTPS的两种方法(图文教程二)

    在大家学习如何利用免费SSL证书配置网站HTTPS之前,我们先要搞清楚为什么要开启HTTPS,这个绿色的小锁真的有用吗?所谓的HTTPS其实是(安全套接字层超文本传输协议)是以安全为目标的HTTP通道 ...

  4. Nginx https免费SSL证书配置指南

    生成证书 $ cd /usr/local/nginx/conf $ openssl genrsa -des3 -out server.key 1024 $ openssl req -new -key  ...

  5. 超详细网站博客域名和二级域名、子域名升级HTTPS免费申请SSL证书配置nginx指南

    随着互联网的飞速发展,我们的工作生活已经离不开互联网,HTTP虽然使用极为广泛, 但是存在不小的安全缺陷, 主要是其数据的明文传送和消息完整性检测的缺乏, 而这两点恰好是网络支付,网络交易等网站应用中 ...

  6. 八大免费SSL证书-给你的网站免费添加Https安全加密

    评论»   https://www.freehao123.com/top-8-free-ssl-cert/ 文章目录 Let's Encrypt StartSSL SSL CloudFlare SSL ...

  7. 实战申请Let's Encrypt永久免费SSL证书过程教程及常见问题

    最近需要https这里看到一份不错的博客,收录一下! Let's Encrypt作为一个公共且免费SSL的项目逐渐被广大用户传播和使用,是由Mozilla.Cisco.Akamai.IdenTrust ...

  8. 申请Let’s Encrypt永久免费SSL证书过程教程及常见问题

    配置证书https://easy.zhetao.com/   虽然目前Let’s Encrypt免费SSL证书默认是90天有效期,但是我们也可以到期自动续约,不影响我们的尝试和使用,为了考虑到文章的真 ...

  9. 七牛云创建存储空间并绑定自定义域名-https协议

    七牛云创建存储空间并绑定自定义域名-https协议 一.准备 0.绑定自定义域名的前提:你起码拥有过一个备案过的域名[一级域名] 1.在七牛云创建一个存储空间 2.存储空间绑定自定义域名(cdn加速) ...

随机推荐

  1. 控件布局_LinearLayout

    gravity和layout_gravity的区别 android:gravity与android:layout_gravity.他们的区别在于:android:gravity用于设置View组件的对 ...

  2. Hue添加Spark notebook

    参考自https://blogs.msdn.microsoft.com/pliu/2016/06/18/run-hue-spark-notebook-on-cloudera/ 说明 使用Clouder ...

  3. OOM异常的4种可能分析

    OOM异常:OutOfMemoryError 1.JAVA堆溢出 JAVA堆用于存储对象实例,只要不断的创建对象,并且保证GC Roots到这些对象之间有路径可以来避免垃圾回收机制清除这些对象,那么在 ...

  4. cc攻击和ddos攻击的区别和攻防 + 调SYN连接参数

    1.一个是WEB网络层拒绝服务攻击(DDoS),一个是WEB应用层拒绝服务攻击(CC),网络层就是利用肉鸡的流量去攻击目标网站的服务器,针对比较本源的东西去攻击,服务器瘫痪了,那么运行在服务器上的网站 ...

  5. kubernetes中infra容器的理解

    1. infra容器和用户容器的关系 1.1 pause 是k8s的基础设施的一部分,pod中其他容器通过pause容器跟其他pod进行通信. 1.2 pod中其他容器跟pause容器共享命名空间1. ...

  6. JS-隐士类型转换‘1’+1、‘1’-1、++‘1’为什么不一样?

    当 x=’1’时,x+1x-1+x-x++xtypeof(x+1)typeof(x-1)typeof(+x)typeof(-x)typeof(++x) 的结果分别是多少? 答案: x+1 //’11’ ...

  7. 在centos 7上安装BIMServer

    下载bimserverwar-1.5.85.war https://github.com/opensourceBIM/BIMserver/releases mkdir -p /opt/bim cd / ...

  8. c# create html table test

    string html = "<html><head><title>44444444</title>"; html += @&quo ...

  9. .net获取excel表的内容(OleDB方法)

    首先引用组件和命名空间 using Microsoft.Office.Interop.Excel; using System.Data.OleDb; 然后把excel上传到指定路径 上传文件方法省略 ...

  10. C# LINQ 详解 From Where Select Group Into OrderBy Let Join

    目录 1. 概述 2. from子句 3. where子句 4. select子句 5. group子句 6. into子句 7. 排序子句 8. let子句 9. join子句 10. 小结 1. ...