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来反向代理其它应用和使用自动续期功能,欢迎关注!

相关文章
|
7月前
|
安全 算法 网络协议
解析:HTTPS通过SSL/TLS证书加密的原理与逻辑
HTTPS通过SSL/TLS证书加密,结合对称与非对称加密及数字证书验证实现安全通信。首先,服务器发送含公钥的数字证书,客户端验证其合法性后生成随机数并用公钥加密发送给服务器,双方据此生成相同的对称密钥。后续通信使用对称加密确保高效性和安全性。同时,数字证书验证服务器身份,防止中间人攻击;哈希算法和数字签名确保数据完整性,防止篡改。整个流程保障了身份认证、数据加密和完整性保护。
求助!怎么上传第三方HTTPS证书?为什么我上传lets encrypt的证书显示私钥格式异常?
用户上传证书时遇到问题,提示格式异常,已尝试转换RSA格式仍未解决。
|
2月前
|
人工智能 安全 算法
HTTPS 的「秘钥交换 + 证书校验」全流程
HTTPS 通过“证书如身份证、密钥交换如临时暗号”的握手流程,实现身份认证与数据加密双重保障,确保通信安全可靠。
217 0
|
5月前
|
安全 算法 数据建模
HTTPS证书类型和品牌一览
HTTPS证书(SSL证书)是保障网站数据传输安全与身份可信认证的重要工具,适用于电商、企业官网等各类平台。证书主要分为DV(域名验证)、OV(企业验证)、EV(扩展验证)三种安全级别,以及单域名、通配符、多域名等不同覆盖类型。品牌方面,既有高性价比的国产锐安信、CFCA,也有国际知名的Sectigo、Digicert。
|
6月前
|
安全 持续交付 云计算
课时5:阿里云容器服务:最原生的集成Docker和云服务
阿里云容器服务以服务化形式构建容器基础设施,大幅提升开发效率,简化应用部署流程。通过Docker容器和DevOps工具(如Jenkins),实现自动化部署与迭代,优化企业内部复杂部署问题。该服务支持GPU调度、混合云架构无缝迁移,并与阿里云产品体系无缝集成,提供安全防护、网络负载均衡等多重功能支持。凭借微服务架构,帮助企业突破业务瓶颈,提高资源利用率,轻松应对海量流量。
226 0
课时5:阿里云容器服务:最原生的集成Docker和云服务
|
8月前
|
监控 运维
HTTPS 证书自动化运维:https证书管理系统- 自动化监控
本文介绍如何设置和查看域名或证书监控。步骤1:根据证书状态选择新增域名或证书监控,线上部署推荐域名监控,未部署选择证书监控。步骤2:查询监控记录详情。步骤3:在详情页查看每日定时检测结果或手动测试。
HTTPS 证书自动化运维:https证书管理系统- 自动化监控
|
8月前
|
Linux 持续交付 调度
HTTPS 证书自动化运维:https证书管理系统-自动化部署
本指南介绍如何部署Linux服务器节点。首先复制生成的Linux脚本命令,然后将其粘贴到目标服务器上运行。接着刷新页面查看节点记录,并点击“配置证书”选择证书以自动部署。最后,节点部署完成,后续将自动调度,无需人工干预。
HTTPS 证书自动化运维:https证书管理系统-自动化部署
|
8月前
|
运维
HTTPS 证书自动化运维:https证书管理系统之自动化签发
通过访问【https://www.lingyanspace.com】注册账户,进入证书服务菜单并新增证书。填写域名(单域名、多域名或泛域名),创建订单后添加云解析DNS记录进行质检。确认完成后可下载证书,并支持后续查看、更新和定时更新功能。证书过期前15天自动更新,需配置邮箱接收通知。
HTTPS 证书自动化运维:https证书管理系统之自动化签发
|
2月前
|
存储 监控 测试技术
如何将现有的应用程序迁移到Docker容器中?
如何将现有的应用程序迁移到Docker容器中?
226 57