美文网首页
Docker搭建Let's Encrypt并连接阿里云自动签发h

Docker搭建Let's Encrypt并连接阿里云自动签发h

作者: 运维贼船 | 来源:发表于2021-10-23 09:59 被阅读0次

HTTPS (全称:Hyper Text Transfer Protocol over SecureSocket Layer),是以安全为目标的 HTTP 通道,在HTTP的基础上通过传输加密和身份认证保证了传输过程的安全性,而如果我们直接使用HTTP来架设自己的网站的话是并不安全的。
Let's Encrypt可以提供免费的证书,如果能通过Let's Encrypt + 阿里云DNS来验证域名,那个样可以实现自动签发证书了。Let's Encrypt连接阿里云可以使用官方提供的api工具。

配置阿里云

1.首先在阿里云域名管理页面解析一个域名,记住你的A记录的值,比如我这里解析了一个域名test.aoarasi.com到我的云服务器。


image

2.在登录的阿里云账户头像处找到AccessKey管理,然后点击创建AccessKey。


image
image
创建时需要验证一下手机号,之后就能成功生成,我们把AccessKey保存到本地或下载csv文件(千万注意不要随意泄露!)。
image

搭建Let's Encrypt

这里假设你已经安装好docker环境,使用以下命令,拉取Let's Encrypt镜像到本地并运行

docker run \
  -itd \
  --cap-add=NET_ADMIN \
  --name=letsencrypt \
  --net=host \
  -v /opt/docker/letsencrypt/:/config:rw \
  -e PGID=1000 \
  -e PUID=1000 \
  -e EMAIL=aoarasi@88.com \
  -e URL=aoarasi.com \
  -e SUBDOMAINS=test \
  -e ONLY_SUBDOMAINS=true \
  -e DHLEVEL=2048 \
  -e VALIDATION=dns \
  -e DNSPLUGIN=aliyun \
  -p 80:80/tcp  \
  -p 443:443/tcp  \
  -e TZ=Asia/Shanghai \
  linuxserver/letsencrypt

这个命令需要主要修改以下几个地方,其它未提及到的参数自行对应修改。

-e EMAIL=aoarasi@88.com  #这里修改为自己的邮件地址
-e URL=aoarasi.com       #这里修改为自己的顶级域名
SUBDOMAINS=test          #这里修改为二级域名的前缀,比如我前面解析的a记录为test
-p 80:80/tcp             #这里根据情况修改,:前是主机端口,后面为映射容器端口
-p 443:443/tcp           #同上

修改完后,拷贝上面的代码运行。注意确保你所设置的端口没有被其它程序占用。


image image

修改阿里aliyun.ini文件,将文件中的access_key和secret为之前我保存的。

[root@mx dns-conf]# vim  /opt/docker/letsencrypt/dns-conf/aliyun.ini 
image

修改完后,我们重启一下letsencrypt应用,使配置生效。

docker restart letsencrypt
# 查看启动情况
docker logs -f letsencrypt

直到日志显示server ready时,表示已经成功的申请到了证书,这时使用ctrl+c组合键退出。


image

访问

使用我们前面解析的域名test.aoarasi.com来访问测试,发现已经正常使用https解析了。

image
查看证书详情,默认给我们三个月的有效期。
image
至此!
下期我们将分析如何使用Let's Encrypt来反向代理其它应用和使用自动续期功能,欢迎关注!

相关文章

网友评论

      本文标题:Docker搭建Let's Encrypt并连接阿里云自动签发h

      本文链接:https://www.haomeiwen.com/subject/otykaltx.html