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

简介: Docker搭建Let's Encrypt并连接阿里云自动签发https证书

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.png

image.png


搭建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.png

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

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

image.png


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

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

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


image.png


访问


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


image.png

查看证书详情,默认给我们三个月的有效期。

image.png

至此!

下期我们将分析如何使用Let's Encrypt来反向代理其它应用和使用自动续期功能,欢迎关注!

相关文章
|
9月前
|
弹性计算 关系型数据库 微服务
基于 Docker 与 Kubernetes(K3s)的微服务:阿里云生产环境扩容实践
在微服务架构中,如何实现“稳定扩容”与“成本可控”是企业面临的核心挑战。本文结合 Python FastAPI 微服务实战,详解如何基于阿里云基础设施,利用 Docker 封装服务、K3s 实现容器编排,构建生产级微服务架构。内容涵盖容器构建、集群部署、自动扩缩容、可观测性等关键环节,适配阿里云资源特性与服务生态,助力企业打造低成本、高可靠、易扩展的微服务解决方案。
2398 10
|
Java Linux C语言
《docker基础篇:2.Docker安装》包括前提说明、Docker的基本组成、Docker平台架构图解(架构版)、安装步骤、阿里云镜像加速、永远的HelloWorld、底层原理
《docker基础篇:2.Docker安装》包括前提说明、Docker的基本组成、Docker平台架构图解(架构版)、安装步骤、阿里云镜像加速、永远的HelloWorld、底层原理
1166 90
|
安全 持续交付 云计算
课时5:阿里云容器服务:最原生的集成Docker和云服务
阿里云容器服务以服务化形式构建容器基础设施,大幅提升开发效率,简化应用部署流程。通过Docker容器和DevOps工具(如Jenkins),实现自动化部署与迭代,优化企业内部复杂部署问题。该服务支持GPU调度、混合云架构无缝迁移,并与阿里云产品体系无缝集成,提供安全防护、网络负载均衡等多重功能支持。凭借微服务架构,帮助企业突破业务瓶颈,提高资源利用率,轻松应对海量流量。
501 0
课时5:阿里云容器服务:最原生的集成Docker和云服务
|
关系型数据库 MySQL Docker
docker pull mysql:8.0.26提示Error response from daemon: Get “https://registry-1.docker.io/v2/“: EOF错误
docker pull mysql:8.0.26提示Error response from daemon: Get “https://registry-1.docker.io/v2/“: EOF错误
4962 9
|
Linux Docker Windows
Docker配置https证书案例
本文介绍了如何为Docker的Harbor服务配置HTTPS证书,包括安装Docker和Harbor、修改配置文件以使用证书、生成自签名证书、配置证书以及验证配置的步骤。
1733 3
Docker配置https证书案例
|
Docker 容器
docker nginx-proxy 添加自定义https网站
docker nginx-proxy 添加自定义https网站
252 4
|
存储 Docker 容器
阿里云私有docker仓库构建海外镜像
【8月更文挑战第25天】
1140 3
|
关系型数据库 MySQL 应用服务中间件
配置docker阿里云镜像地址
配置docker阿里云镜像地址