Let's encript 提供每次为期90天可以的DV型SSL证书
下载脚本
https://certbot.eff.org/#ubuntuxenial-nginx
执行命令就一句搞定 sudo certbot --nginx
不想自己配置nginx单独生成证书就 sudo certbot --nginx certonly
更多手动配置可以参照帖子https://www.v2ex.com/t/241179
配置结束之后查看证书支持哪些具体的设备
https://www.ssllabs.com/ssltest/analyze.html?d=hdfinvision.com
不过使用https需要注意cpu的占用率, 决定证书的编码方式是否需要调整.
也可以为多个域名签名
./certbot-auto certonly -d a.com -d b.com -d d.a.com
2018年貌似let's encript 会提供通配符形式的签名证书, 很期待.
2018年初 certbot放出了0.21版本,之前的版本不支持多个域名发放证书了,https://community.letsencrypt.org/t/solution-client-with-the-currently-selected-authenticator-does-not-support-any-combination-of-challenges-that-will-satisfy-the-ca/49983
需要下载使用最certbot的新版本
我在阿里云上不知道为啥没法安装新版本,所以用了certbot-auto (因为certbot-auto总会调用最新版本的certbot)
下载地址以及文档https://certbot.eff.org/docs/install.html#certbot-auto
user@webserver:~ chmod a+x ./certbot-auto
使用命令产生证书,
./certbot-auto certonly -d hande.hdfinvision.com,hdfinvision.com,handefiles-ali.hande.hdfinvision.com,handestatic-ali.hande.hdfinvision.com
然而并没有成功,因为handefiles-ali handestatic-ali这个3级域名并没有解析到服务器上 所以没法产生证书,
所以我先把0ss+cdn绑定该3级域名自动生成的cname配置 改成a 然后指向nginx服务器ip,
执行上面命令产生证书之后,再把域名解析改回去,
刷新浏览器缓存,就可以用https的方式通过自己的域名访问oss文件了。
https://handefiles-ali.hande.hdfinvision.com/fac52d1327648ab7a5ac233ed25a2772_zip.zip
https://handestatic-ali.hande.hdfinvision.com/html/help.html
后来我又追加了developer.hdfinvison.com 与hande.hdfinvision.com在同一台服务器
./certbot-auto certonly -d hande.hdfinvision.com,hdfinvision.com,handefiles-ali.hande.hdfinvision.com,handestatic-ali.hande.hdfinvision.com
发现证书没生效,后来我在nginx ssl 那块的hostname加上就好了
server {
listen 443 ssl;
server_name hande.hdfinvision.com developer.hdfinvision.com ;
别忘了reload一下nginx先
2018.4.22
首先把复制备份指向阿里cdn的两个域名
handefiles-ali.hande
handestatic-ali.hande
然后改成指向我们的服务器39.106.129.219 从CNAME改成A
下面执行命令
ssh a97
cd /data/ssl
申请新https证书:
./certbot-auto certonly -d hande.hdfinvision.com,hdfinvision.com,handefiles-ali.hande.hdfinvision.com,handestatic-ali.hande.hdfinvision.com,developer.hdfinvision.com, www.hdfinvision.com
每三个月更新一次证书:
./certbot-auto renew
命令执行成功再把阿里cdn的两个域名改回去
最后reload nginx使新证书信息生效
再把证书更新到阿里云cdn里的https证书中
公钥cat /etc/letsencrypt/live/hande.hdfinvision.com/cert.pem
私钥cat /etc/letsencrypt/live/hande.hdfinvision.com/privkey.pem
如果出问题的话
https://github.com/certbot/certbot/issues/4309
如果卡在了Installing Python packages...
需要换源
vi ~/.pip/pip.conf
[global]
index-url=http://mirrors.aliyun.com/pypi/simple/
[install]
trusted-host=mirrors.aliyun.com
-------------------2019.2.15------------
阿里的OSS+CDN的证书最方便的还是直接用阿里云的免费证书, 不用改域名的指向