博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Https证书申请并自动更新与分发
阅读量:5952 次
发布时间:2019-06-19

本文共 1756 字,大约阅读时间需要 5 分钟。

hot3.png

安装acme

我们使用acme来申请免费的https通用域名证书 acme的证书有效期为三个月,但会创建一个定时任务提前一个月来进行续约

安装acme

curl  https://get.acme.sh | sh cd ~/.acme.sh/yum -y install socat

验证证书

为了验证域名所有权,Let's Encrypt 支持两种方式来验证:

  • 通过阿里云DNS 验证域名
  • 域名的访问

sh acme.sh --installcert -d 4d-bios.com --key-file /mnt/ssl/nginx/4d-bios.com/4d-bios.com.key --fullchain-file /mnt/ssl/nginx/4d-bios.com/fullchain.cer --reloadcmd "ssl.sh"

通过域名访问

sh acme.sh  --issue -d [域名]   --standalone

通过DNS来验证

我们通过创建一个阿里云的的子账户key 并对子账号授权DNS的权限

在.bashrc 里添加export Ali_Key="xx" export Ali_Secret="xxx"source ~/.bashrc

然后就可以执行验证了

acme.sh --issue --dns dns_ali -d [域名] -d *.[域名]# 配置安装SSL证书路径和重启的命令sh acme.sh  --installcert  -d  [域名]   \        --key-file   /mnt/ssl/[域名].key \        --fullchain-file /mnt/ssl/fullchain.cer \        --reloadcmd   "nginx -s reload"

NGINX 配置SSL证书

server {    listen 443;    server_name localhost;    ssl on;    root html;    index index.html index.htm;    ssl_certificate   cert/xxx.pem;    ssl_certificate_key  cert/xxx.key;    ssl_session_timeout 5m;    ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:ECDHE:ECDH:AES:HIGH:!NULL:!aNULL:!MD5:!ADH:!RC4;    ssl_protocols TLSv1 TLSv1.1 TLSv1.2;    ssl_prefer_server_ciphers on;    location / {        root html;        index index.html index.htm;    }}

证书的自动分发

由于有多台服务器都需要用到相同的证书,这时候证书的分发就成为了问题, 我们在一台公共机器的节点上利用ssh来实现分发,先配置好ssh免密登录

执行分发的脚本

#!/bin/bash# 分发ssl证书# 待分发的服务器listSERVERS=("ip1" "ip2");for str in ${SERVERS[@]}; do  scp -r /mnt/ssl/ $str:/mnt/  echo  "SCP SSL TO $str"  ssh $str "docker restart nginx"  echo "SSH restart nginx " done
sh acme.sh  --installcert  -d  [域名]   \        --key-file   /mnt/ssl/[域名].key \        --fullchain-file /mnt/ssl/fullchain.cer \        --reloadcmd   "ssl.sh" #指定定时执行上面的脚本

转载于:https://my.oschina.net/jayqqaa12/blog/3021326

你可能感兴趣的文章
杨老师课堂之ArrayList集合常用方法解析
查看>>
ElasticSearch Client详解
查看>>
新零售讲堂之时代下的传统零售业,何去何从?
查看>>
c++读取和写入TXT文件的整理
查看>>
深入动态人脸识别小场景应用,2019年或将迎来爆发期
查看>>
Ionic2 下处理 Android 设备下返回按钮的事件
查看>>
linux安全问答(1)
查看>>
zabbix监控进程的CPU和内存占用量
查看>>
Error creating bean with name 'userServiceImpl': Injection of autowired dependencies failed
查看>>
mybatis update返回值的意义
查看>>
SVNQuery–如何创建更新索引并查询
查看>>
java高质量图片压缩
查看>>
源码解读Linux的limits.conf文件
查看>>
java this关键字的使用
查看>>
linux基础1
查看>>
Google地球查看香港地形
查看>>
jquery之统计数字parseFloat
查看>>
20161121
查看>>
Nginx服务器开启gzip压缩功能额必要性
查看>>
ZeroMQ研究与应用分析
查看>>