内容简介:之前域名都是用的虽然而现在
之前域名都是用的 阿里云盾证书服务
,因为是一起申请,所以每年更新一下问题不大。
虽然 Let's Encrypt
在免费SSL证书里能说是最有人气(最大因素在于支持 泛域名
),但以前需要每3个月手工更新一次,虽有自动更新可不够稳定,如果不注意就比较尴尬。
而现在 acme.sh
已经比较成熟,很好解决了自动续期问题。最近加两个子域名,又正好下月 SSL证书
到期,借此契机换成 Let's Encrypt
证书。
并且国内的 云盾证书服务
都会有申请限制,就拿阿里云的说明为例: 个人型SSL证书,保护一个域名。浏览器上有https提示并有绿锁标记。快速签发,适合个人和小微企业,支持个人/企业申请。一个阿里云帐户最多签发20张。
我们来划下重点 一个阿里云帐户
、 最多
、 20张
,也就是一个正好终身只能申请20次,域名/子域多的话,还是消耗的挺快。
有关阿里云的 SSL证书
的介绍和安装,可以查看我之前的文章: 《阿里云 免费SSL证书安装小记》
操作步骤:
acme.sh
只要简单的6步操作,即可完成。
一、登陆阿里云
# 登陆阿里云 ssh root@SeverIp
普通用户和 root 用户都可以
二、安装 acme.sh
# 执行安装命令 `curl https://get.acme.sh | sh`
执行成功后会自动安装到:~/.acme.sh/
如果遇到以下错误提示,需要先安装 socat
依赖包 yum install socat -y
再执行安装命令。
# 错误信息: ······ [2020年 03月 15日 星期五 23:19:10 CST] It is recommended to install socat first. [2020年 03月 15日 星期五 23:19:10 CST] We use socat for standalone server if you use standalone mode. [2020年 03月 15日 星期五 23:19:10 CST] If you don't use standalone mode, just ignore this warning. ······
三、导入密钥
acme.sh
目前支持 cloudflare
, dnspod
, cloudxns
, godaddy
以及 ovh
等数十种解析商的自动集成。可以使用域名解析商提供的 api 自动添加 txt 记录完成验证。
密钥只需导入一次即可,根据你所使用的域名解析服务商而定,本文提供 DNSPod
和 AliYun
2个导入方式。
DNSPod 域名解析
由于我是使用的是 DNSPod
解析服务,那就登录 DNSPod
官网生,成所需的 api id
和 api key
。
操作方法:点击右上角头像 -> 我的账号 -> 账号中心 -> 密钥管理 -> 创建密钥
然后执行导入命令:
# DNSPod export DP_Id="YourID" export DP_Key="YourKey"
PS:创建密钥具体位置,可能随网站改版而略有调整
万网/阿里云 域名解析
如果你是使用 万网/阿里云
的 NDS 解析:
操作方法:点击右上角头像 -> 选择 AccessKey
-> 点击 开始使用子用户AccessKey
-> 起个自定义名称 -> 搜索 NDS
-> 选择 系统 AliyunDNSFullAccess
然后执行导入命令:
# AliYun export Ali_Key="YourKey" export Ali_Secret="YourSecret"
四、生成证书(签发通配符证书)
# 执行以下命令 acme.sh --issue --dns dns_dp -d *.YourDomain.com
# 命令执行成功后的显示 [2020年 03月 15日 星期五 23:19:10 CST] Creating domain key ······ [2020年 03月 15日 星期五 23:19:10 CST] The txt record is added: Success. [2020年 03月 15日 星期五 23:19:10 CST] Let's check each dns records now. Sleep 20 seconds first. ······ [2020年 03月 15日 星期五 23:19:10 CST] Pending [2020年 03月 15日 星期五 23:19:10 CST] Pending [2020年 03月 15日 星期五 23:19:10 CST] Pending [2020年 03月 15日 星期五 23:19:10 CST] Pending [2020年 03月 15日 星期五 23:19:10 CST] Success ······ [2020年 03月 15日 星期五 23:19:10 CST] Verify finished, start to sign. ······ [2020年 03月 15日 星期五 23:19:10 CST] Cert success.
最后看到 Cert success
表示申请成功
证书会存放在 ~/.acme.sh/*.YourDomain.com/
五、证书拷贝到 Nginx
# 执行以下命令 acme.sh --installcert -d *.YourDomain.com \ --key-file /Nginx目录/存放证书的目录/key名称.pem \ --fullchain-file /Nginx目录/存放证书的目录/cert名称.pem \ --reloadcmd "service nginx force-reload"
--installcert 命令至关重要,当证书更新以后, reloadcmd 会被自动调用,让服务器生效。
目前证书在 60 天以后会自动更新,无需任何操作。
# 命令执行成功后的显示 [2020年 03月 15日 星期五 23:19:10 CST] Installing key to:/Nginx目录/存放证书的目录/key.pem [2020年 03月 15日 星期五 23:19:10 CST] Installing full chain to:/Nginx目录/存放证书的目录/cert.pem [2020年 03月 15日 星期五 23:19:10 CST] Run reload cmd: service nginx force-reload Redirecting to /bin/systemctl force-reload nginx.service [2020年 03月 15日 星期五 23:19:10 CST] Reload success
六、配置 Nginx
修改 Nginx 配置,将 ssl_certificate
和 ssl_certificate_key
指向新证书存放位置。
server { listen 443; // ······ // 修改证书路径 ssl_certificate 存放证书的目录/cert名称.pem; ssl_certificate_key 存放证书的目录/key名称.pem; // ······ }
如果你是初次安装 SSL证书,别忘记设置 301跳转
,把 HTTP 指向 HTTPS。
参考资料
以上就是本文的全部内容,希望本文的内容对大家的学习或者工作能带来一定的帮助,也希望大家多多支持 码农网
猜你喜欢:- 004-零失败快速搞定通配符SSL证书
- RHCE证书,CCNA证书
- DV SSL证书和其他证书有什么不同?
- 生成根证书CA及签发子证书及配置站点实践
- OpenSSL命令速查手册:证书、私钥与证书签名请求文件
- 技术讨论 | Apostille:让假证书以假乱真的证书伪造工具
本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们。
小米生态链战地笔记
小米生态链谷仓学院 / 中信出版集团 / 2017-5 / 56.00
2013年下半年,小米开始做一件事,就是打造一个生态链布局IoT(物联网);2016年年底,小米生态链上已经拥有了77家企业,生态链企业整体销售额突破100亿元。这3年,是小米生态链快速奔跑的3年,也是小米在商场中不断厮杀着成长的3年。 3年,77家生态链企业,16家年销售额破亿,4家独角兽公司,边实战,边积累经验。 小米生态链是一个基于企业生态的智能硬件孵化器。过去的3年中,在毫无先......一起来看看 《小米生态链战地笔记》 这本书的介绍吧!
CSS 压缩/解压工具
在线压缩/解压 CSS 代码
XML 在线格式化
在线 XML 格式化压缩工具