徐员外#Let's Encrypt证书安装

1,证书安装详见https://www.cnblogs.com/tinywan/p/8573169.html

2,certbot-auto的参数说明:

run:获取并安装证书到当前的Web服务器

certonly:获取或续期证书,但是不安装

renew:在证书快过期时,续期之前获取的所有证书

-d DOMAINS:一个证书支持多个域名,用逗号分隔

--apache:使用 Apache 插件来认证和安装证书

--standalone:运行独立的 web server 来验证

--nginx:使用 Nginx 插件来认证和安装证书

--webroot:如果目标服务器已经有 web server 运行且不能关闭,可以通过往服务器的网站根目录放置文件的方式来验证

--manual:通过交互式方式,或 Shell 脚本手动获取证书

3,最重要的一句话:

sudo./certbot-auto --server https://acme-v02.api.letsencrypt.org/directory -d*.duoduobird.com --manual --preferred-challenges dns-01 certonly

dns-01参数说明:

在申请Let’s Encrypt证书的时候,官方需要校验域名的所有权,证明域名是你的,你才可以申请证书,目前支持三种验证方式:

üdns-01:给域名添加一个 DNS TXT 记录。

ühttp-01:在域名对应的 Web 服务器下放置一个 HTTP well-known URL 资源文件。

ütls-sni-01:在域名对应的 Web 服务器下放置一个 HTTPS well-known URL 资源文件。

申请通配符(*.duoduobird.com)证书,只能使用 dns-01 的方式。

使用letsencrypt-auto生成也是一样的。

4,Nginx使用SSL的时候,要安装SSL模块,后面我会写Nginx的安装文档。

5,证书自动续期

定时任务:

>>crontab -e(crontab -l查看centos定时任务,servicecrond status查看定时任务状态,脚本我测试过,有效)

# Lets Encrypt certificate update

#每1,3,5,7,9,11月15日4点10分执行定时任务

10 4 15 1,3,5,7,9,11 * /bin/sh /opt/eff.org/renewCerts.sh

renewCerts.sh文件的内容

#!/bin/sh

#获取新证书

/opt/eff.org/certbot-auto renew

#证书有多处使用,复制到要使用的目录,我的gitlab也是用这个证书

# gitlab使用Let'sEncrypt证书的配置,在我写的《Gitlab私服搭建》中有#讲。

cp -f /etc/letsencrypt/live/duoduobird.com/fullchain.pem/home/gitlab/config/ssl/

cp -f /etc/letsencrypt/live/duoduobird.com/privkey.pem/home/gitlab/config/ssl/

#重启nginx

service nginx restart

#重启gitlab docker镜像

docker restart gitlab

注意:#!/bin/bash 和 #!/bin/sh的区别,这里的shell脚本用#!/bin/sh比较合理些,#!/bin/sh执行出错的时候,就不再往下执行,这正是我要的效果。

  • 发表于:
  • 原文链接https://kuaibao.qq.com/s/20180602G0ZFTY00?refer=cp_1026
  • 腾讯「云+社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。

扫码关注云+社区

领取腾讯云代金券