OneinStack自动部署Let’s Encrypt证书

  • A+
所属分类:Linux

Let's Encrypt是一个由电子前哨基金会、Mozilla基金会、Akamai、密歇根大学、思科联合发起的一个项目。它旨在为站长提供一个免费的、完全自动化的证书申请过程,从而让整个互联网都能享受到HTTPS加密。Let’s Encrypt的证书申请过程非常简单、安全、快速、自动化并且免费。Let’s Encrypt是一个中间CA,它的CA证书由IdenTrust签发。IdenTrust是一个Root CA,受到所有主流浏览器的信任。从2015年10月后,Let’s Encrypt的中间CA证书被chrome、Firefox、Microsoft Edge、Safari和Opera所信任。

最近官方做了调整,简化了获取证书的难度,并将项目名改为了certbot,以前叫letsencrypt。certbot可以自动化的申请,安装和更新证书。

OneinStack已经内置Let's Encrypt,vhost.sh绑定域名时自动申请、绑定、自动续期(默认90天)一步到位,教程如下:

安装

  1. wget http://mirrors.linuxeye.com/oneinstack.tar.gz
  2. tar xzf oneinstack.tar.gz
  3. cd oneinstack
  4. ./addons.sh

如下图:

出现绿色Let's Encrypt client install successfully!即表示certbot安装成功,如下图:

使用证书

vhost.sh绑定域名ssl选择y,Let's Encrypt选择y

  1. ./vhost.sh

注意事项

  • 最新版oneinstack关闭Congratulations,默认跳过即成功
  • 绑定定域名后会自动在crontab添加相应自动续期脚本
  • 同一个ip在3小时内最多申请10个域名的证书
  • 同一个根域名在七天内,只能注册5个证书。同一个子域名注册或更新都是要计算次数的

Mon Jun 20 23:06:17 CST 2016

avatar

发表评论

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen:

目前评论:109   其中:访客  68   博主  41

    • avatar Real .me 1

      试了好几次都是这样?

      Please enter Administrator Email(example: admin@example.com): 106507@qq.com
      nginx: [warn] conflicting server name “txy.var123.cn” on 0.0.0.0:80, ignored
      Failed authorization procedure. txy.var123.cn (http-01): urn:acme:error:unauthorized :: The client lacks sufficient authorization :: Invalid response from http://txy.var123.cn/.well-known/acme-challenge/3s4DKyM-K3jwRmIxNOoZGFhzvcyfIrLfNvfgmIUoupg: ”
      404 Not Found

      404 Not Found

      Error: Let’s Encrypt SSL certificate installation failed!

        • avatar yeho Admin

          @Real .me 如果之前绑定了域名,先删除再执行vhost.sh绑定,提示重复绑定域名冲突

        • avatar mythology 1

          前端时间使用这个脚本加上SSL证书了,近期收到邮件提示要过期,然后看了下,发现crontab里的自动定时更新好像没用。然后手动执行强制更新发现也无法自动续期,并报如下错误(网站域名做了隐藏):
          Attempting to renew cert from /etc/letsencrypt/renewal/www.xxx.com.conf produced an unexpected error: Failed authorization procedure. www.xxx.com (http-01): urn:acme:error:unauthorized :: The client lacks sufficient authorization :: Invalid response from http://www.xxx.com/.well-known/acme-challenge/o1d8m2O5UpI3EQLxJNi054hEtOHGS49KRrdqxDXfC5B: ”
          404 Not Found

          404 Not Found
          “. Skipping.
          请教下yeho,这个是脚本有问题还是啥原因,好像需要访问 .well-known 这个目录。
          重装 Let’s Encrypt client 可以解决么?

            • avatar yeho Admin

              @mythology 网站根目录下的.well-known被删掉了吗? 可以重装let’s Encrypt client解决

                • avatar mythology 1

                  @yeho .well-known目录还在。是这样的,先用vhost脚本添加了域名,然后直接就添加了ssl,此时网站本目录还是空的,所以添加ssl是没问题。然后把网站代码git过来后,由于网站用了框架,所以再更新时,是通过浏览器是无法访问到网站根目录的,访问的框架重新定义的根目录,此时是无法访问到.well-known目录的,所以此时更新就失败了。

                    • avatar mythology 1

                      @mythology 针对上面的问题,了解了 certbot 后,知道了原因所在:certbot 会通过访问 example.com/.well-known/acme-challenge 来验证你的域名是否绑定的这个服务器。但如果用了框架或者微服务的架构,可能就不能直接访问根目录或者没有根目录了。
                      解决方案:
                      1.把 /etc/letsencrypt/renewal/www.xxx.com.conf 配置文件中的 authenticator=webroot 改为 authenticator=standalone;(standalone 这种模式不需要指定网站根目录,它会自动启用服务器的443端口,来验证域名的归属,所以如果443被占用,需先停止其服务)
                      2. 关闭 nginx;
                      3. 执行更新脚本;
                      4. 重启 nginx 即可;
                      已测试Ok

                • avatar FANTASY 1

                  liunxeye您好,这个脚本证书更新周期是几天呢?证书是按每个域名生成时间的独立更新吗? 主机上的域名不会是同时更新吧! 谢谢

                    • avatar yeho Admin

                      @FANTASY 默认一个星期执行更新,但是不一定每次更新,执行如下命令,强制更新(小心被封):
                      /usr/local/python/bin/certbot renew --force-renewal --renew-hook "/etc/init.d/nginx reload"

                    • avatar CC 0

                      如果是多版本PHP ,那是不是 修改/oneinstack/options.conf PHP的目录. 第一次 安装PHP5.,运行addons.sh No.7 安装一次.
                      在去修改/oneinstack/options.conf PHP安装路径. 在运行 addons.sh No.7
                      这样 就是多版本 SSL 证书了?
                      还是只要运行一次就行了?

                        • avatar yeho Admin

                          @CC php多版本和nginx ssl没关系

                        • avatar helsing 1

                          出现错误 Failed authorization procedure. llixxx.cn (http-01): urn:acme:error:connection :: The server could not conn
                          ect to the client to verify the domain :: Could not connect to llixxx.cn, www.llixxx.cn (http-01): urn:acme:
                          error:connection :: The server could not connect to the client to verify the domain :: Could not connect t
                          o www.llixxx.cn
                          Error: Let’s Encrypt SSL certificate installation failed!
                          怎么回事哦,是为在备案吗?腾讯云的。

                            • avatar yeho Admin

                              @helsing llixxx.cn, www.llixxx.cn是否都A记录解析到这台服务器?

                                • avatar helsing 1

                                  @yeho 好滴,谢谢。测试中

                              • avatar 禅猫 3

                                Let’s Encrypt可以申请ecc证书的

                                • avatar 可乐、 1

                                  我已解决 删除了conf文件 重新创建的 已经更新了证书期限,但是请问下 按照以上安装方式 老大您不是设置好了自动续期吗为啥没有执行呀? 还是说我哪里设置错了?

                                    • avatar yeho Admin

                                      @可乐、 crontab -l 手工执行里面命令试试

                                    • avatar 可乐、 1

                                      请问咱这个证书设置有续期的脚本吗? 因为我的已经到期了,但是未自动续期,请问下怎么设置部署他更新,并且自动续期呀?

                                      • avatar 大树哥哥 1

                                        安装出现了这个错误, Debian8.0 lnmp
                                        nginx: the configuration file /usr/local/nginx/conf/nginx.conf syntax is ok
                                        nginx: configuration file /usr/local/nginx/conf/nginx.conf test is successful
                                        ./vhost.sh: line 174: 14664 Hangup /etc/init.d/nginx reload > /dev/null
                                        Failed authorization procedure. www.domain.com (http-01): urn:acme:error:unauthorized :: The client lacks sufficient authorization :: Invalid response from http://www.domain.com/.well-known/acme-challenge/O7Eo_4xDhY-8-GykZZ2vgWGTgGMQohSfn3806gOhFlU: ”

                                        body{background-color:#FFFFFF}”

                                          • avatar yeho Admin

                                            @大树哥哥 现场是否保留,方便服务器ssh ip看下吗?

                                              • avatar 大树哥哥 1

                                                @yeho 是因为我的网站在阿里云备案期间,所以DNS有问题,现在好了

                                            • avatar 大树哥哥 1

                                              我想问一下在备案中的网站是不是安装Let’s Encrypt不成功

                                              • avatar Tonyski 1

                                                Let’s Encrypt安装成功
                                                但是vhost添加站点时在输入完邮箱按enter后报错
                                                ConnectionError: (‘Connection aborted.’, BadStatusLine(“””,))
                                                Error: Let’s Encrypt SSL certificate installation failed!
                                                求解,服务器是阿里华东2

                                                  • avatar yeho Admin

                                                    @Tonyski nginx还是apache ?

                                                      • avatar Tonyski 1

                                                        @yeho 装的大神你的lnmp,用的是nginx,
                                                        我以前用香港的服务器没问题,换成国内的不知道为啥出问题了

                                                    • avatar link 1

                                                      失败了
                                                      Failed authorization procedure. firefoxfine.ml (http-01): urn:acme:error:unauthorized :: The client lacks sufficient authorization :: Invalid response from http://domain.com/.well-known/acme-challenge/VdHlyd-JsCzYBI8tCUUpOiiZPxdzG4W5dItu0: ”

                                                      body{background-color:#FFFFFF}”, www.domain.com (http-01): urn:acme:error:unauthorized :: The client lacks sufficient authorization :: Invalid response from http://www.domain.com/.well-known/acme-challenge/v7Mppl6HZTPk0qYCWE: ”

                                                      body{background-color:#FFFFFF}”
                                                      Error: Let’s Encrypt SSL certificate installation failed!

                                                      • avatar ncepuzs 0

                                                        我感觉这个并不会自动续期,手动触发好像也不行,还望指点!

                                                          • avatar yeho Admin

                                                            @ncepuzs 如果刚刚获取证书手工触发不一定会更新,你可以加参数强制更新试试

                                                              • avatar a 0

                                                                @yeho 请教如何手动触发更新续期呢?

                                                                  • avatar yeho Admin

                                                                    @a crontab -l 手工触发试试

                                                              • avatar 梦天 0

                                                                Apache2.2
                                                                添加虚拟主机单域名或双域名都是最后失败 报服务器内部错误。

                                                                • avatar 菊部 2

                                                                  最后是302跳转吗?

                                                                  • avatar 陆执影 0

                                                                    Creating virtual environment…
                                                                    Installing Python packages…

                                                                    阿里云,同样卡在这里了。

                                                                      • avatar yeho Admin

                                                                        @陆执影 国内网络慢,没办法,重复几次试试

                                                                      • avatar 林先生 0

                                                                        怎么自动续期?

                                                                          • avatar yeho Admin

                                                                            @林先生 默认vhost.sh设置会自动加计划任务。

                                                                          • avatar luckywave 1

                                                                            求助, Let’s Encrypt安装失败[img]评论[/img]

                                                                            • avatar luck 1

                                                                              Let’s Encrypt, 添加网站后提示填写国家城市等信息, 填写之后就失败.
                                                                              用的搬瓦工VPS, centos7.
                                                                              但是我换成centos6后就成功.
                                                                              请问是为什么?

                                                                                • avatar yeho Admin

                                                                                  @luck 和当时网络情况有关系

                                                                                • avatar hahaxixi 1

                                                                                  Let’s Encrypt 显示安装成功,但是vhost.sh的时候没有出现“Do you want to use a Let’s Encrypt certificate”,查了下,/usr/local/bin/certbot-auto是有的,环境是centos7.2

                                                                                    • avatar 独狼 0

                                                                                      @hahaxixi 我是cent6.5,也没出现:
                                                                                      Do you want to use a Let’s Encrypt certificate

                                                                                        • avatar yeho Admin

                                                                                          @独狼 没安装成功,addons.sh重复安装 Let’s Encrypt 客户端试试

                                                                                        • avatar 陌空部落 0

                                                                                          @hahaxixi 我也是是这个问题

                                                                                        • avatar 菊部 2

                                                                                          同样2个主机 一个在oneinstack下 配置 一步到位
                                                                                          另一个AMH还在折腾。。。

                                                                                          • avatar 菊部 2

                                                                                            感谢分享 十分需要

                                                                                            • avatar Fengtalk 0

                                                                                              显示安装成功,可还是用不了。

                                                                                              • avatar 龙文voice 1

                                                                                                DNS problem: NXDOMAIN looking up A for awenzi.win
                                                                                                这是什么原因啊

                                                                                                  • avatar yeho Admin

                                                                                                    @龙文voice A急了没生效,域名必须解析到指定服务器IP,不能加cdn等

                                                                                                      • avatar 龙文voice 1

                                                                                                        @yeho 哦,好的谢谢

                                                                                                        • avatar thriken 0

                                                                                                          @yeho 我把NS交到dns.he.net的 win7e.com 但是还是提示这个

                                                                                                      • avatar admin111 0

                                                                                                        都测试ok,访问网站浏览器提示访问风险??

                                                                                                          • avatar yeho Admin

                                                                                                            @admin111 这是你网站代码里面有静态资源是http请求,都改成https即可

                                                                                                          • avatar ITYOY 2

                                                                                                            –2016-08-20 23:59:02– (try: 6) https://dl.eff.org/certbot-auto
                                                                                                            Connecting to dl.eff.org|173.239.79.196|:443… failed: Connection timed out.
                                                                                                            Giving up.

                                                                                                            certbot-auto download failed, Please contact the author!
                                                                                                            这是装自动安装的ssl的那个脚本,一直装不上。。

                                                                                                            然后装Oneinstack的时候,JDK安装失败。

                                                                                                              • avatar yeho Admin

                                                                                                                @ITYOY 安装let’s Encrypt下载超时 ,没办法,网络问题。

                                                                                                                  • avatar ITYOY 2

                                                                                                                    @yeho 恩恩呐。。今儿重装了一次好了,直接上了H2 哈哈哈哈 开心开心~~

                                                                                                                • avatar bandwagonhost 0

                                                                                                                  这个工具很好,尤其对于要部署SSL的来说很简单。

                                                                                                                  • avatar 邢台网站建设 2

                                                                                                                    中文域名是不是就是按那个Punycode编码写?证书信息中能不能出现中文??

                                                                                                                    • avatar 邢台网站建设 2

                                                                                                                      希望能说说如何替换旧的其他的证书,并且自动续费什么的。还有就是这个确实可以让chrome认可么?我测试的直接提示不安全,是不是刚刚申请他们证书的原因?最后以为没有设置对,直接在第一步选择了n,后期该如何换成他的?因为自己的conf中有别的设置,直接用脚本的话恐怕会影响原来的conf中的设置。受累了

                                                                                                                      • avatar 沧澜博客 2

                                                                                                                        安装完证书之后,http不自动跳转https,手动输入https之后,整个博客不加载css文件,版面乱码。希望博主能够释疑。

                                                                                                                        • avatar 沧澜博客 2

                                                                                                                          Installing python packages 不动了。。

                                                                                                                          • avatar Qa 3

                                                                                                                            用的 lnmp、lamp、lnmpa一键安装包 能不能用这个ADDONS.sh

                                                                                                                              • avatar yeho Admin

                                                                                                                                @Qa 内置有的

                                                                                                                                  • avatar Qa 3

                                                                                                                                    @yeho 今天才看到留言,已经找到一款脚本也不错。

                                                                                                                                      • avatar wulixue 3

                                                                                                                                        @Qa 你好,你也是安装了lnmp一键包么?请教你是怎样安装Let’s 证书到lnmp的 谢谢,vhost的时候可以设置么?谢谢

                                                                                                                                  • avatar 请问 2

                                                                                                                                    请问 脚本 多久续期一次!!

                                                                                                                                      • avatar yeho Admin

                                                                                                                                        @请问 默认每周一续费一次,具体请看计划任务(命令:crontab -l)

                                                                                                                                          • avatar 请问 2

                                                                                                                                            @yeho 我先开始 担心 是3个月 低 才续费的! 一个周。。 感觉有点频繁了 虽然是免费的 个人角度 应该 也要节制的 感觉2个月左右 就 刚刚好~ 个人 观点 – -!

                                                                                                                                              • avatar yeho Admin

                                                                                                                                                @请问 可以自己改,影响不太,不会被封。let’s服务器在国外,防止网络问题。而且crontab 可以自己改。

                                                                                                                                                  • avatar 您好@ 2

                                                                                                                                                    @yeho 证书脚本 怎么 木有 自动续期….

                                                                                                                                                    • avatar yeho Admin

                                                                                                                                                      @您好@ 一个星期一次

                                                                                                                                                      • avatar 你好 2

                                                                                                                                                        @yeho 已经两个星期了 证书 日期 还是原来的。。

                                                                                                                                                        • avatar yeho Admin

                                                                                                                                                          @你好 crontab -l 手工触发下

                                                                                                                                                          • avatar 你好 2

                                                                                                                                                            @yeho crontab -l 已经尝试。。。 请问吧博主大大 有没有办法 手动执行有一些 crontab 进程 让他 立马执行。。

                                                                                                                                                        • avatar 请问 2

                                                                                                                                                          @yeho 因为 我的网站 加有 支持 https的cdn 每次 都要去更换证书 感觉有点麻烦 博主大大 有法子 改改更新频率时间吗~

                                                                                                                                                      • avatar Amos 1

                                                                                                                                                        先用了./vhost.sh添加server,也选了要绑SSL。
                                                                                                                                                        才发现还要先用./addons.sh装Let’s Encrypt client。
                                                                                                                                                        请问二者先后顺序有影响吗?
                                                                                                                                                        我网站目前还无法连上,不确定是安装顺序的影响或是防火墙或SELINUX也须要做什么设定的关系
                                                                                                                                                        若果真是先后顺序的关系,该如何补救?
                                                                                                                                                        想到删除网站再重跑一次./vhost.sh,但已经申请了的证书怎么办?

                                                                                                                                                          • avatar yeho Admin

                                                                                                                                                            @Amos 如果用let’s Encrypt 必须先addons.sh 先安装客户端后 vhost.sh才会出现选项!

                                                                                                                                                              • avatar Amos 1

                                                                                                                                                                @yeho 谢谢回答,不好意思再请问:
                                                                                                                                                                1. 先addons.sh 安装客户端→vhost.sh添加server绑SSL→防火墙开放https或port 443后,还须要做什么动作才能成功拜访https网页吗?
                                                                                                                                                                例如配置CA证书的位置,或是把CA证书的own/grp从root改成www?

                                                                                                                                                                2. 我目前有一个公网IP,是在router后面用VirtualBox开一台Linux架Nginx,
                                                                                                                                                                已在DNS设定domain name的A指向公网IP,
                                                                                                                                                                再用Forward Rules将公网IP指向虚拟机的内网IP 192.168.0.X
                                                                                                                                                                请问以这样的IP环境,用OneinStack安装的Nginx既已是TLS SNI support enabled,是不是就支援一IP多HTTPS站点了?可以为同一IP下的多个server各自配置CA证书?

                                                                                                                                                                  • avatar yeho Admin

                                                                                                                                                                    @Amos 支持。不需要其它配置

                                                                                                                                                              • avatar king 0

                                                                                                                                                                我的是oneinstack部署的LNAMP怎么搞阿,支持吗?用的NGINX+APACHE ,这个支持吗?还有老大,你这个解锁的插件叫啥子名字?

                                                                                                                                                                • avatar https加密 1

                                                                                                                                                                  https 配置出现绿色后,然后执行,./vhost.sh 没有出现选择lets 证书的提示

                                                                                                                                                                    • avatar yeho Admin

                                                                                                                                                                      @https加密 ./addons.sh 先安装certbot客户端

                                                                                                                                                                        • avatar https加密 1

                                                                                                                                                                          @yeho 1.cretbot 客服端已经安装成功, 绿色 successfu 提示成功了

                                                                                                                                                                      • avatar Yorke 0

                                                                                                                                                                        输./vhost.sh之后没有do you want 这行出现

                                                                                                                                                                        • avatar ricemouse 0

                                                                                                                                                                          Installing Python packages …
                                                                                                                                                                          卡住这一步,无法进行

                                                                                                                                                                          • avatar skysmile 0

                                                                                                                                                                            这个不支持centos 7 吗?

                                                                                                                                                                            • avatar 老板 0

                                                                                                                                                                              Do you want to use a Let’s Encrypt certificate? [y/n]: y
                                                                                                                                                                              DNS problem: NXDOMAIN looking up A for xxx.com
                                                                                                                                                                              为什么呀,老大?

                                                                                                                                                                                • avatar yeho Admin

                                                                                                                                                                                  @老板 必须指定域名加A纪录

                                                                                                                                                                                  • avatar qqoo 0

                                                                                                                                                                                    @老板 我这边也是遇到这个问题,但是我DNS A记录有解析到服务器,但依旧提示这个错误

                                                                                                                                                                                      • avatar yeho Admin

                                                                                                                                                                                        @qqoo 解析没生效。

                                                                                                                                                                                          • avatar Jc 0

                                                                                                                                                                                            @yeho 我也是这个问题,解析到了服务器,也过了一天多,再绑定域名还是这个问题

                                                                                                                                                                                              • avatar yeho Admin

                                                                                                                                                                                                @Jc 重新下载vhost.sh试试

                                                                                                                                                                                                • avatar miming 1

                                                                                                                                                                                                  @Jc 这问题有解吗? 目前也是卡在这边。

                                                                                                                                                                                          • avatar tonyski 0

                                                                                                                                                                                            很不错的功能,赞 :cool:

                                                                                                                                                                                            • avatar adrock 0

                                                                                                                                                                                              支持一下。~