Let’s Encrypted的证书只有三个月的免费期, 使用acme.sh脚本可实现自动更新https证书。以阿里云为例,申请域名为 me2you.online泛域名
1、安装curl https://get.acme.sh | sh
2、运行命令后在当前用户目录下生成目录.acme.sh,并自动增加crontab内容。
3、acme.sh建议使用DNS验证方式,在阿里云的账户配置ID和Secret。
不同DNS的证书配置方式见 ~/.acme.sh/dnsapi/README.md
以阿里云为例
在登陆界面的命令行输入
[root@demo ~]$ export Ali_Key="xxx"
[root@demo ~]$ export Ali_Secret="xxx"
信息会在~/.acme.sh/account.conf 文件记录, 以备下次使用。
4 生成泛域名证书
acme.sh --issue --dns dns_ali -d me2you.online -d *.me2you.online
5\查看证书
[ngx@demo .acme.sh]$ acme.sh --list
5、安装证书
acme.sh --install-cert -d me2you.online \
--key-file /application/nginx/certs/me2you.online/me2you.online.key \
--fullchain-file /application/nginx/certs/me2you.online/me2you.online.cer \
--reloadcmd "/application/nginx/sbin/nginx -s reload"
命令的参数会被记录下来, 下次证更新的时候会自动运行。
6、 nginx成功测试
其它说明:
7、删除证书
acme.sh --remove -d *domain.com
8、目前由于acme协议和Let’s Encrypt CA都在频繁的更新,因此acme.sh也经常更新以保持同步,如果需要更新acme.sh版本的话,通过以下方式即可更新版本:
1.手动更新: acme.sh --upgrade
2.自动更新: acme.sh --upgrade --auto-upgrade ,之后acme.sh就会自动保持更新。
3. 关闭自动更新: acem.sh --upgrade --auto-upgrade 0
# yum -y install ca-certificates
# yum info ca-certificates
# rpm -ql ca-certificates
# rpm -ql ca-certificates | grep "crt"
tls-ca-bundle.pem 内各个证书的头尾格式:
BEGIN CERTIFICATE &END CERTIFICATE
ca-bundle.trust.crt 内各个证书的头尾格式:
BEGIN TRUSTED CERTIFICATE &END TRUSTED CERTIFICATE
/etc/pki/tls/certs/ca-bundle.crt 文件存储了各大证书颁发证的根证书交叉文件。
curl 访问https网站时,会比对这个文件里的根证书。如果这个文件过老,那就是有新的根证书未加入到这个文件里,导致curl无法正常访问https网站。
所以,你要么更新这个包(文件),要么可以选择手动添加证书进去,当然,你可以使用 curl -k 跳过证书验证。
更新最新证书:
https://curl.se/ca/cacert.pem
对CentOS7.x而言,手动添加证书信任:
获取服务端证书 X.crt
# cp X.crt /etc/pki/ca-trust/source/anchors/
# update-ca-trust
# cat /etc/pki/ca-trust/README
# man update-ca-trust >update-ca-trust.txt
SSL Certificate Verification
https://curl.se/docs/sslcerts.html
Managing TLS and trusted CA certificates
https://docs.pexip.com/admin/certificate_management.htm
SSL and SSL Certificates Explained For Beginners
http://www.steves-internet-guide.com/ssl-certificates-explained/
Adding trusted root certificates to the server
https://manuals.gfi.com/en/kerio/connect/content/server-configuration/ssl-certificates/adding-trusted-root-certificates-to-the-server-1605.html
How to add Certificate Authority file in CentOS 7
https://stackoverflow.com/questions/37043442/how-to-add-certificate-authority-file-in-centos-7
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)