Let's Encrypt SSL 证书安装不了的若干问题解决

【美博翻墙2019.12.9】Let's Encrypt 提供免费的SSL加密证书,不仅为网页网站的安全提供了方便和普及,也为翻墙加密提供了安全方便。但是,安装Let's Encrypt SSL证书时,有时有网友会遇到各种问题不能顺利安装。自从v2ray翻墙技术问世后,结合网页加密及伪装的翻墙,仍然是目前最好的翻墙方法。有关v2ray安装时可能遇到的问题及解决方法,请参考:V2ray自建代理遇到的一些问题及解决 - 美博园

-------------
美博园(allinfa.com)发布的几个目前最好的自建代理,可自行选择使用:
自建最强科学上网4:NaiveProxy + Caddy - 美博园
自建最强科学上网3:trojan + Caddy - 美博园
自建最强科学上网2:V2ray+Caddy+Tls+WebSocket - 美博园
美博园(allinfa.com)认为这几个组合都是目前翻墙思路最好、最强的翻墙方法,可等同使用。
-------------

本文就其中一个环节,安装Let's Encrypt SSL证书出现的问题及解决方法专文讨论于此,与网友分享,也请网友补充完善。

一、Let's Encrypt SSL证书安装的二个必备的前提条件

Let's Encrypt SSL证书是为了网页网站加密,所以,要成功安装Let's Encrypt SSL证书,必须具备二个基本条件:

其一是:要有站点。不论站点大小,即使是一个网页也行,就像是美博的v2ray方法只是建立的一个用于伪装的html网页,这都是可以的,但是一定要有,没有网页就安装不了Let's Encrypt证书;

其二是:要有域名及其正确解析。既然是网站,当然要有域名,而且这个域名还要正确解析,不正确解析,不能安装成功Let's Encrypt SSL 证书,这里要注意的地方有几点:

1)域名要正确解析,请按照美博前文方法:域名购买及设置与ip服务器关联

2)特别要指出的是,上文有图示说明,不仅仅是不带www的域名要解析,带www的子域名也要正确解析,即 子域名 www 的 A记录也是必须做的,不然不能安装证书成功,其实只要按照上文每一步都做到就好;

要注意的是:若你使用的是二级域名,即这样的子域名 abc.domainexample.com,那么,不管是顶级域名或是二级域名,都要有 www A 纪录 都指到同一个服务器的 IP。即:在做DNS时,
二级域名 abc.domainexample.com 和 其三级域名 www.abc.domainexample.com 也要作域名解析,也要指向同一个 IP。

3)域名指向服务器ip(解析)后,不一定会立即生效,也许立即生效,也许几分钟,也许要等半小时,甚至几个小时或更长时间才会生效。有时候没有立即生效,是因为以前的缓存在,清除浏览器缓存就好。

域名指向ip是否生效,即是否正确解析域名已经指向服务器ip,当用“域名”(不是服务器ip)做SSH连接服务器时,如果能够连接上,说明域名已经正确解析,请参考:【SSH连接软件-Xshell下载及使用教程】介绍的方法。

也可在网站查询: (请注意:这里的abcdef.com要改为你自己的域名)
https://www.whatsmydns.net/#A/abcdef.com
和(必须)
https://www.whatsmydns.net/#A/www.abcdef.com

4)如果你的域名 DNS A 纪录指向到别的服务器 IP 了,以前安装的EasyEngine 的 Let's Encrypt证书自动更新程序也会停止。

二、服务器的系统选择问题

安装Let’s Encrypt证书概括来讲可以安装到任何系统的网站上,但也有一些网站构建组合的限制,如:

1、美博介绍的v2ray方法【自建最强科学上网:v2ray + websocket + web + nginx (EasyEngine)】,采用的是EasyEngine作为前端管理nginx的Web服務器程序,EasyEngine现在支持的操作系统只有:Ubuntu 12.04、14.04、16.04、18.04和 Debian 7、8,其他系统不支持,所以,在用这种方法制作代理时,SSL证书的安装就受限于这几个系统。

当然这个不是SSL证书的问题,如果用其他系统,首先EasyEngine就安装不上。如果用非EasyEngine管理,SSL证书几乎可适用于所有系统。之所以采用Easyengine,是因为EasyEngine是国外一间专门帮人优化网站的公司rtcamp写出来的网页服务器管理程序,它内置了 NGINX 和 Let's Encrypt,不用再慢慢设定,很方便我们翻墙的要求,也方便新手操作,会自动续约Let's Encrypt证书。

2、有网友发现:如果使用 CentOS+Apache,也可以安装Let's Encrypt,但是安装完成后,用https访问页面,会出现自签名证书页面,提示“此连接不受信任”。美博的教程没有用到这个系统组合,不用理会这一条,只是做个记录。

三、查看Let's Encrypt安装出错的记录文件

若用EasyEngine安装SSL证书,出现错误或者不能安装,可以查看日志文件来看问题记录。若网友遇到,请自行排查:

打开SSH连接服务器,输入:
查看简单的记录:

tail /var/log/ee/ee.log

查看比较详细的记录:

cat /var/log/ee/ee.log

这个日志里有详细证书安装记录:

cat /var/log/letsencrypt/letsencrypt.log

四、GPG keys问题,让Let's Encrypt SSL 证书不能安装

近期有网友反映:按照教程【自建最强科学上网:v2ray + websocket + web + nginx (EasyEngine)】做到“12、安装 Let’s Encrypt 的SSL证书”时,提示:

ee site create 你自己的域名 --html --letsencrypt
……
…… please wait...
  Oops Something went wrong!!
  Check logs for reason `tail /var/log/ee/ee.log` & Try Again!!!

第一步、输入:

wget -qO - https://download.opensuse.org/repositories/home:/strycore/xUbuntu_18.04/Release.key | sudo apt-key add -

[Enter]

注意:这是系统 Ubuntu_18.04 的命令

会显示 OK

第二步、再输入:

sudo apt-get update

第三步、再输入第12步命令:

ee site create 你自己的域名 --html --letsencrypt

如果已经可以安装Letsencrypt证书,就不進行下面的步骤;若还是不能安装,请再继续下面步骤。

第四步、查询出错记录

按照上面“三、查看Let's Encrypt安装出错的记录文件”所述方法,打开日志记录文件时,若看到其中一段有这样的记录,你的记录不一定是与下面的完全一样:

举例,日期是随意写的
2000-12-21 13:15:45,148 (INFO) ee : Adding repository for NGINX, please wait...
2000-12-21 13:15:45,149 (DEBUG) ee : Adding ppa of Nginx
2000-12-21 13:15:45,149 (DEBUG) ee : Running command: gpg --keyserver hkp://keys.gnupg.net --recv-keys 3050AC3CD2AE6F03
2000-12-21 13:15:45,528 (DEBUG) ee : Command Output: , 
  Command Error: gpg: WARNING: unsafe ownership on homedir '/home/dougs/.gnupg'
  gpg: key 3050AC3CD2AE6F03: 1 signature not checked due to a missing key
  gpg: key 3050AC3CD2AE6F03: "home:rtCamp OBS Project " not changed
gpg: Total number processed: 1
gpg:              unchanged: 1
2000-12-21 13:15:45,528 (DEBUG) ee : Running command: gpg -a --export --armor 3050AC3CD2AE6F03 | apt-key add - 
2000-12-21 13:15:45,973 (DEBUG) ee : Command Output: OK

Command Error: gpg: WARNING: unsafe ownership on homedir '/home/dougs/.gnupg'
Warning: apt-key output should not be parsed (stdout is not a terminal)
…… 很多内容略
2000-12-21 13:15:54,207 (INFO) ee :   Oops Something went wrong!!
2000-12-21 13:15:54,208 (ERROR) ee :   Check logs for reason `tail /var/log/ee/ee.log` & Try Again!!!

说明这是gpg: key过期问题,这个问题的原因与Ubuntu、Debian系统有关,尽管Ubuntu、Debian已经修复了很多gpg问题,但时不时还是会遇到,只要修正 gpg: key的问题就好,很简单。

解决办法:记录下这个十六进制数字的key值,即上例中的 3050AC3CD2AE6F03 这一串,你的记录可能不会是这些数字,是其它的,但样子就是这样的一串值,也可能你看到的还不止一个,可能有几个,都要记录下来。

第五步、然后,接着在SSH输入命令:

先执行:

sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-keys

然后再执行:

sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-keys 3050AC3CD2AE6F03

注意:3050AC3CD2AE6F03这个要换成你自己看到的,若是多个就加空格并排写,如:
sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-keys 3050AC3CD2AE6F03 5550AC3CD2AE6F03 6660AC3CD2AE6F03

会显示如:

Executing: /tmp/apt-key-gpghome.JUOuXd6PAd/gpg.1.sh --keyserver keyserver.ubuntu.com --recv-keys 3050AC3CD2AE6F03
gpg: key 3050AC3CD2AE6F03: 1 signature not checked due to a missing key
gpg: key 3050AC3CD2AE6F03: "home:rtCamp OBS Project " 1 new signature
gpg: Total number processed: 1
gpg:         new signatures: 1

如上可能解决遇到的没有gpg、或gpg:key过期问题。

接下就可以接着原来的步骤、按照v2ray教程执行安装Let's Encrypt证书的命令了。

以上是美博遇到过的gpg问题解决方案。网友在操作过程中,也可能遇到其它gpg问题,这是linux系统的问题,网友可执行网上搜索解决办法,也可把日志文件发到 联系我们 - 美博园,我们看看是什么问题。

五、建议全新服务器安装代理

如果你已经安装有网站或服务器用作其他用途,现在要安装代理(如v2ray)到这个服务器上,那么在现有站点的现有服务器上安装EE,也可能会出错,出现Let's Encrypt SSL 证书不能安装的问题。

解决办法:建议在全新服务器上安装代理,哪怕是买一个最便宜的服务器也足够自己或少数几人使用。

六、其它一些不能安装Let's Encrypt SSL 证书的问题

新手在安装Let's Encrypt SSL 证书或使用命令输入时,常出现一些问题:

1、命令输入错误
在输入命令时,写错字母、增减空格、不小心增加符号等;
输入法处于“中文输入”状态,输入命令时是中文的全角符号,自然会出错。所以,在输入命令时,电脑输入法必须处于英文状态;
关于复制命令,这是最常用的方式,一般建议采用,但是,复制时也会偶尔遇到一些诡异的事情,自动出现空格,符号自动被改变等等,所以,复制时命令若执行错误,可先检查,命令是否有错,特别是像 --这种符号有时会自动改变为全角符号;

2、暂时Let’s Encrypt服务器忙碌,换个网络不太忙的时候试试,这个国内可能有网友遇到过;.

3、有个别的会遇到,如有使用dyndns之类的服务,也连不上Let's Encrypt 服务器,这个美博没有遇到过;

4、有个别网友反映,使用IPv6也不能执行Let's Encrypt SSL 证书安装,这个美博也没有遇到过。

六、频繁安装出错

Let’s Encrypt 证书颁发的速率及次数限制 - 美博园

以上是美博园(allinfa.com)这几年遇到的Let's Encrypt SSL 证书不能安装的情况及解决办法,若有其他情况,欢迎网友补充完善。

***
=== 自建最强代理 v2ray、trojan、NaiveProxy 系列文章参考 ===

自建最强科学上网4:NaiveProxy + Caddy - 美博园
自建最强科学上网3:trojan + Caddy - 美博园
自建最强科学上网2:V2ray+Caddy+Tls+WebSocket - 美博园
自建最强科学上网:v2ray + websocket + web + nginx (EasyEngine) - 美博园
自己搭建代理服务器:VPS的选择 - 美博园
自己搭建代理服务器:Vultr VPS 购买图文教程 - 美博园
自己搭建代理服务器:Vultr VPS 系统安装图文教程 - 美博园
自己搭建代理服务器:检测ip是否被墙及更换ip - 美博园
自己搭建代理服务器:域名购买及设置与ip服务器关联 - 美博园
SSH连接软件-Xshell下载及使用教程 - 美博园
WinSCP:连接远端服务器的管理传输工具的使用教程 - 美博园
v2ray客户端代理上网 - Windows、Android、Mac、ios - 美博园
Let's Encrypt SSL 证书安装不了的若干问题解决 - 美博园
如何开启Google TCP BBR 加速 - 美博园
V2ray自建代理遇到的一些问题及解决 - 美博园
原文链接:https://allinfa.com/letsencrypt-ssl-answers.html
原文标题:Let's Encrypt SSL 证书安装不了的若干问题解决 - 美博园
※ 除声明转载,美博园文章均为"原创",软件版权归原作者,转载请以上面超链接注明来源!

本文TinyURL短网址: http://tinyurl.com/tmwaf28

网 友 留 言

6条评论 in “Let's Encrypt SSL 证书安装不了的若干问题解决”
  1. 域名 says:

    我想请问,文中说“二级域名 abc.domainexample.com 和 其三级域名 www .abc.domainexample.com 也要作域名解析,也要指向同一个 IP。”
    这个要怎么做?

  2. Beers says:

    我也是之前碰到这个问题,折腾了好久才成功解决,作者的一个命令有问题,是“三、查看Let's Encrypt安装出错的记录文件” 的第一个命令 tail /var/log/ee/ee.log ,应改用 cat /var/log/ee/ee.log 这个命令,这样才能看到真正详细的出错提示,其实原因就是gpg: key过期的问题,解决方法参考链接:http://rtcommunity2.rssing.com/chan-63981296/all_p370.html

  3. surfing says:

    美博园您好,我在安装Let’s Encrypt证书时遇到了这个问题,已经尝试了很多遍仍然无法解决:域名解析已经完成,我是使用域名(而非vps ip地址)登陆的xshell。也已经通过网站验证域名解析通过。
    但是在“ee site create abc.com --html --letsencrypt”这个步骤时就会出错。使用“tail /var/log/ee/ee.log”命令会反馈如下
    Hit:2 http://archive.ubuntu.com/ubuntu bionic InRelease
    Get:3 http://archive.ubuntu.com/ubuntu bionic-updates InRelease [88.7 kB]
    Get:4 http://archive.ubuntu.com/ubuntu bionic-backports InRelease [74.6 kB]
    Ign:5 http://download.opensuse.org/repositories/home:/rtCamp:/EasyEngine/xUbuntu_18.04 InRelease
    Get:6 http://download.opensuse.org/repositories/home:/rtCamp:/EasyEngine/xUbuntu_18.04 Release [1,014 B]
    Get:7 http://download.opensuse.org/repositories/home:/rtCamp:/EasyEngine/xUbuntu_18.04 Release.gpg [481 B]
    Ign:7 http://download.opensuse.org/repositories/home:/rtCamp:/EasyEngine/xUbuntu_18.04 Release.gpg
    Reading package lists...
    日期时间,774 (INFO) ee : Oops Something went wrong!!
    日期时间,775 (ERROR) ee : Check logs for reason `tail /var/log/ee/ee.log
    而cat /var/log/letsencrypt/letsencrypt.log命令则会反馈
    No such file or directory
    请问我是否在哪一步出了错误或是有什么疏忽呢?

这里是你留言评论的地方

7 + 0 =

【您可以使用 Ctrl+Enter 快速发送】

Copyright © 2007 - 2020 , Design by 美博园. 版权所有. 若有版权问题请留言通知本站管理员. 【回到顶部】