docker获取Let's Encrypt永久免费SSL证书的方法

一、起因

官方的cerbot太烦了,不建议使用还不如野蛮生长的acme.sh,而这里介绍docker运行cerbot获取Let's Encrypt永久免费SSL证书

二、选型

cerbot的证书不会自动刷新日期,但是acme.sh自带这功能,每天凌晨0:00自动检测过期域名并且自动续期

选择docker运行cerbot,是为了让服务器里尽量少配置和无意义的程序,方便管理。例如Let's Encrypt需要的Python2.7,git,pip我们都不需要装在宿主机内,容器就自己配置好了

原文 https://github.com/acmesh-official/acme.sh/wiki/Run-acme.sh-in-docker

三、拉取镜像

$ docker pull neilpang/acme.sh

以dns mode运行docker命令

$ docker run --rm -it \
 -v "$(pwd)/out":/acme.sh \
 -e Ali_Key="xxxxxx" \
 -e Ali_Secret="xxxx" \
 neilpang/acme.sh --issue --dns dns_ali -d domain.cn -d *.domain.cn

成功之后,证书会保存在out文件夹,也可以指定路径,修改上面第一行 "$(pwd)/out",改为你想要保存的路径即可

四、注意

--dns dns_ali

要根据你域名的dns模式选择,显然这里是阿里。所以前面的两项配置才是Ali_Key,Ali_Secret

Ali_Key,Ali_Secret

需要从阿里云后台获取

不知道自己域名的dns模式可以去这里查找 https://github.com/acmesh-official/acme.sh/wiki/dnsapi

如何获取域名的dns模式及相关配置,可以直接找你域名的客服

用腾讯做例子

$ docker run --rm -it \
 -v "$(pwd)/out":/acme.sh \
 -e DP_Id="xxxxxx" \
 -e DP_Key="xxxx" \
 neilpang/acme.sh --issue --dns dns_dp -d domain.cn -d *.domain.cn

腾讯这坑爹收购了DNSPod,所以是dns_dp

我一开始还以为是TX_Id,TX_Key,dns_tx之类的

找了一圈,发现自己的阿里服务器正常使用,但就是步骤没问题

于是问公司拿到域名账户,问腾讯客服才知道这事

当然,这跟腾讯无关,坑爹公司的锅更大

老子干这个啥都没有

五、命令

docker run --rm 的命令懂得都懂,运行完就退出,这样能执行个锤子自动更新ssh证书

方法一

不docker run --rm,直接docker run就好了

优点简单,缺点一个容器专门跑这个,太浪费资源了

方法二

定时任务跑docker run --rm,原文的例子就有了

#run cron job
docker run --rm -it \
 -v "$(pwd)/out":/acme.sh \
 --net=host \
 neilpang/acme.sh --cron

其实--cron是linux的crontab参数,具体用法不累赘了

喜欢用crontab的用crontab

不喜欢的看看 博文里的二

方法三

把这玩意和docker守护进程绑一起,毕竟守护进程必须开,不算浪费资源

这是acme.sh的推荐做法

同样带原文的例子

$ docker run --rm -itd \
 -v "$(pwd)/out":/acme.sh \
 --net=host \
 --name=acme.sh \
 neilpang/acme.sh daemon

六、最终结果

$ docker run --rm -itd \
 -v "$(pwd)/out":/acme.sh \
 -e DP_Id="xxxxxx" \
 -e DP_Key="xxxx" \
 neilpang/acme.sh --issue --dns dns_dp -d domain.cn -d *.domain.cn daemon

到此这篇关于docker获取Let's Encrypt永久免费SSL证书的方法的文章就介绍到这了,更多相关docker如何获取Let's Encrypt永久免费SSL证书内容请搜索我们以前的文章或继续浏览下面的相关文章希望大家以后多多支持我们!

(0)

相关推荐

  • docker获取Let's Encrypt永久免费SSL证书的方法

    一.起因 官方的cerbot太烦了,不建议使用还不如野蛮生长的acme.sh,而这里介绍docker运行cerbot获取Let's Encrypt永久免费SSL证书 二.选型 cerbot的证书不会自动刷新日期,但是acme.sh自带这功能,每天凌晨0:00自动检测过期域名并且自动续期 选择docker运行cerbot,是为了让服务器里尽量少配置和无意义的程序,方便管理.例如Let's Encrypt需要的Python2.7,git,pip我们都不需要装在宿主机内,容器就自己配置好了 原文 ht

  • windows下部署免费ssl证书(letsencrypt)的方法

    随着网络的发展,网络安全也越来越重要,对于网站来说,从Http升级到https也是我们要做的首要事情.要实现https,首先我们需要申请一张SSL证书,这篇文章我主要介绍下边这几个方面: 1. SSL简单介绍 2. 免费Letencrypt证书部署 3. 安装注意事项 一.SSL简单介绍 ssl作为一个网络加密协议,主要是存在于系统中应用层和传输层之间的一个安全套接字层(Secure Socket Layer),也就是位于TCP/IP协议和各个应用层协议之间,为应用数据传输提供加密的协议.当然它

  • 微信小程序 免费SSL证书https、TLS版本问题的解决办法

    微信小程序 免费SSL证书https.TLS版本问题的解决办法 微信小程序与第三方服务器通讯的域名5个必要条件 1.一个已备案的域名,不是localhost.也不是127.0.0.1,域名不能加端口 2.加ssl证书,也就是https://~~~ 4.HTTPS 服务器的 TLS 版本支持1.2及以下版本,一般就是1.0.1.1.1.2要同时支持这三个版本,一个也不能少,要不然就会出现下面这种情况 5.微信小程序后台加上合法域名设置(一个月内改的次数是有限的,且行且珍惜)如下图 以上5个条件,必

  • 阿里云申请云盾免费SSL证书(https)

    因项目需要须使用https服务,得知阿里云可以免费申请. 我们的前提:  1.有阿里云的服务器账号. 2.申请的域名托管在阿里云的云解析服务 有了这两个前提申请就方便快捷多了. 1.登录阿里云-->安全(云盾)-->证书服务 注: 感谢评友提示,  最新的查找申请证书方式更正一下,  得倒着往上点,symantec---单个域名----免费型 2.选择购买证书 3.在配置单中选择 "免费型DV SSL"   证书提供商品牌为:"赛门铁克" 注意:免费数字

  • SpringBoot添加SSL证书的方法

    一.先进行域名的购买 域名购买完毕,进行DNS的解析,我用的是阿里云的,服务器与域名都同时使用的阿里云 记录值这里填你的服务器的IP 地址 二.申请SSL证书 阿里云提供免费的SSL证书,一个人可以申请20个 找到这里 提交获取 然后进行证书的申请 填个人信息,填完一步步保存提交后,证书申请会需要绑定DNS解析 我的是阿里云的,直接去DNS控制台添加就行,你们的根据自己的去相应的添加 记录值改为TXT,主机记录跟记录值,直接复制给的就行 显示这样说明成功 然后根据自己的需要选择证书的下载 这里我

  • Android APP之WebView校验SSL证书的方法

    Android系统的碎片化很严重,并且手机日期不正确.手机根证书异常.com.google.android.webview BUG等各种原因,都会导致WebViewClient无法访问HTTPS站点.SSL错误的处理方式十分关键,如果处理不当,可能导致中间人攻击,黑客窃听数据,进而引发安全事故. 严谨地处理onReceivedSslError尤为重要.请参考以下代码,原理是:如果webview报告SSL错误,程序将会对服务器证书进行强校验,如果服务器传入证书的指纹(sha256)与记录值一致,说

  • 腾讯云申请免费ssl证书配置tomcat使http变https

    买了腾讯云服务器,想在自己的网站前面加上https,步骤就三步: 1.在腾讯云找到ssl证书申请(苦逼程序员就申请免费的吧) [1]登录进腾讯云找到ssl证书申请 [2]点击申请证书,苦逼就申请免费的吧,任性点的可以考虑购买... [3]填写相关的信息,并进行邮箱验证 通用名称--你自己的域名 申请邮箱--用于验证的 证书备注名--自定义随便取个吧 私钥密码--可填可不填(楼主填了) 所属项目--都是默认项目 ps:填完之后下一步,有三个选项,如果你的域名已经绑定了服务器,就选择自动,否则选择手

  • Nginx 下配置SSL证书的方法

    1.Nginx 配置 ssl 模块 默认 Nginx 是没有 ssl 模块的,而我的 VPS 默认装的是 Nginx 0.7.63 ,顺带把 Nginx 升级到 0.7.64 并且 配置 ssl 模块方法如下: 下载 Nginx 0.7.64 版本,解压 进入解压目录: 复制代码 代码如下: wget http://sysoev.ru/nginx/nginx-0.7.64.tar.gz tar zxvf nginx-0.7.64.tar.gz cd nginx-0.7.64 如果要更改heade

  • 阿里云负载均衡SLB安装SSL证书的方法

    获取证书文件 1.登陆用户中心(如何登陆用户中心?)获取SSL证书(证书管理系统现在有2个版本并存[根据购买SSL证书品牌,类型等随机分配],证书管理系统版本不同,获取证书方式略有差异,最终得到的证书是没有区别的,请按照您现行使用的证书系统版本获取证书文件.) 1-1. 版本1-如何获取SSL证书文件:点击这里 ,找到如下图所示页面,请把SSL证书文件(包括"-----BEGIN CERTIFICATE-----"和"-----END CERTIFICATE-----&quo

  • PHPStudy下如何为Apache安装SSL证书的方法步骤

    一.安装SSL证书的环境 Apache安装目录:E:phpStudyPHPTutorialApache 以上为windows下测试SSL证书安装的目录,具体目录请根据自己的实际环境! 二.获取SSL证书 成功在沃通申请SSL证书后,会得到一个压缩包文件,解压后得到四个文件:for Apache.for IIS.for Ngnix. for Other Server,Apache 上需要用到 for Apache解压出来的证书文件以及自主生成的私钥.key文件. key 文件,需要找到生成 CSR

随机推荐