对证书完全陌生。
Www.mcarton.ca
阿帕奇2.2.15
CentOS 6.3
运行这个-尽管我尝试了几个建议
Sudo~/certbot-自动-验证器webroot--安装程序apache-d www.mcarton.ca
在端口80上有一台虚拟主机
在证书创建和对HTTPD.conf的更改期间,一切正常
现在使用ssllab-它说我有一个证书,但上面的名称是CentOS 6,而不是www.mcarton.ca
常用名称不匹配!
我做错了什么?嗨@Silverwater,
您的证书是由证书颁发机构颁发的
但显然Certbot未能正确重新配置您的APACHE服务器,使其使用新证书。相反,您的Apache服务器仍在使用由您的操作系统创建的内置自签名证书,该证书允许HTTPS连接,但会产生浏览器警告。
我不知道为什么会这样,但您是否碰巧有一次运行Certbot的完整输出的副本?
你能不能运行一个这样的命令?
Grep-ir sslcert/等/HTTPD,谢谢Schoen,
我只有最后一次尝试,但它结束了,因为我已经超过了尝试的次数。但我把产出也包括了进去,以防会有帮助。
[Root@Centos6 conf]#sudo~/certbot-Auto--验证器webroot--安装程序apache-d www.mcarton.ca
将调试日志保存到/var/log/letsENCRYPT/letsENCRYPT.log
选择的插件:身份验证器Webroot、安装程序阿帕奇
证书尚未到期续订
您的现有证书具有与您请求的完全相同的域或证书名称,并且尚未过期。
(参考:/etc/letsencrypt/renewal/www.mcarton.ca-0002.conf)
你想做什么?
1:尝试重新安装此现有证书
2:续订和更换证书(每7天限制~5次)
选择适当的数字[1-2],然后按[Enter](按‘c’取消):2
续订现有证书
执行以下挑战:
Www.mcarton.ca的HTTP-01挑战
输入www.mcarton.ca的webroot:(输入‘c’取消):/var/www/html/mcartonnew
正在等待验证…
清理挑战
出现意外错误:
有关更多详细信息,请参阅/var/log/letscrypt中的日志文件。
[Root@Centos6 conf]#主机名
Www.mcarton.ca
我运行了你建议的grep命令。
[Root@Centos6 conf]#grep-ir sslcert/etc/httpd
^[[B/etc/httpd/conf/httpd-le-ssl.conf:SSLCertificateFile/etc/letsencrypt/live/www.mcarton.ca-0002/cert.pem
/etc/httpd/conf/httpd-le-ssl.conf:SSLCertificateKeyFile/etc/letsencrypt/live/www.mcarton.ca-0002/privkey.pem
/etc/httpd/conf/httpd-le-ssl.conf:SSLCertificateChainFile/etc/letsencrypt/live/www.mcarton.ca-0002/chain.pem
二进制文件/etc/HTTPD/MODULES/mod_ssl.so匹配
/etc/httpd/con.d/ssl.conf:#指向PEM编码的证书。如果
/etc/httpd/con.d/ssl.conf:SSL认证文件/etc/pki/tls/certs/localhost.crt
/etc/httpd/conf.d/ssl.conf:SSLCertificateKeyFile/ETC/pki/tls/私有/本地主机.key
/etc/httpd/con.d/ssl.conf:#将SSLcertifateChainFile指向包含
/etc/httpd/con.d/ssl.conf:#引用的文件可以与SSL认证文件相同
/etc/httpd/conf.d/ssl.conf:#SSLCertificateChainFile/ETC/pki/tls/certs/serverchain.crt
我从安全的外壳连接运行了Cerbot,这会是个问题吗?我只是觉得这就是CENTOS6这个名字的由来。我需要在服务器上登录吗?
我将不得不等待,直到我可以有另一个“尝试”,因为我已经用了我所有的尝试-除非你能重置它,你能运行~/certbot-自动证书来看看你有哪些证书?-0002可能是问题的征兆,因为续订的证书可能存储在不同的证书谱系中(您的Web服务器当前没有指向该证书谱系)。,[ROOT@Centos6 conf.d]#~/certbot-自动证书
将调试日志保存到/var/log/letsENCRYPT/letsENCRYPT.log
续订配置文件/etc/letsencrypt/renewal/www.mcarton.ca-0001.conf产生意外错误:/etc/letsencrypt/live/www.mcarton.ca-0001/cert.pem应为符号链接。跳过。
续订配置文件/ETC/letsENCRYPT/REVERATION/www.mcarton.ca.conf产生意外错误:预期/ETC/letsENCRYPT/live/www.mcarton.ca/cert.pem为符号链接。跳过。
找到以下证书:
证书名称:www.mcarton.ca-0002
域名:www.mcarton.ca
到期日:2018-04-19 15:02:20+00:00(有效期:89天)
证书路径:/etc/letsencrypt/live/www.mcarton.ca-0002/fullchain.pem
私钥路径:/etc/letsencrypt/live/www.mcarton.ca-0002/privkey.pem
以下续订配置文件无效:
/etc/letsencrypt/renewal/www.mcarton.ca-0001.conf
/etc/letsENCRYPT/REVERATION/www.mcarton.ca.conf
我可能已经删除了这些文件…我不确定。嗯,删除这些文件可能以某种方式破坏了Certbot(它可能不会产生它应该产生的有用错误)。Certbot希望它在/etc/letsENCRYPT中创建的所有文件都继续存在,除非您使用certbot删除来删除特定的证书。
然而,/etc/letsencrypt/live/www.mcarton.ca-0002/cert.pem文件已被正确续订--有效期到4月!--所以更直接的问题是为什么您的apache没有使用它。
因此,该日志由/var/HTTPD/conf.d/ssl.conf指向;因此,看起来Apache正在使用conf.d文件夹中的ssl.conf。
这就是问题所在,…我们如何才能阻止Apache使用ssl.conf?
这有意义吗?,通常情况下,保留默认的ssl.conf是可以的,因为它应该只应用于没有为其指定更多特定证书的虚拟主机。在Apache配置文件中,它包括conf.d文件夹中的所有*.conf文件-按字母顺序。
位于ApacheHttpd.conf文件底部的指令之前。用于此新证书并在443…上侦听我假设第一个conf文件将在第二次尝试侦听443。,您能给我举一个示例,说明httpd.conf和httpd-le-ssl.conf应该是什么样子吗?
以下是我的HTTPD.confServerAdmin信息@mcarton.ca的结尾
DocumentRoot/var/www/html/mcartonnew/
服务器名称www.mcarton.ca
ErrorLog Logs/mcarton.ca-error_log
CustomLog Logs/mcarton.ca-access_log CommonSetHandler服务器-状态
订单允许、拒绝
允许来自所有
NameVirtualHost*:443
包括/etc/HTTPD/conf/HTTPD-LE-ssl.conf
在http-le-ssl.conf下面
邮箱:ServerAdmin info@mcarton.ca
DocumentRoot/var/www/html/mcartonnew/
服务器名称www.mcarton.ca
ErrorLog Logs/mcarton.ca-error_log
CustomLog Logs/mcarton.ca-Access_log Common
SetHandler服务器-状态
订单允许、拒绝
允许来自所有
重写引擎打开
#此文件中的某些重写规则在您的HTTPS站点上被禁用,
#因为它们有可能创建重定向循环。
重写条件%{服务器名称}=www.mcarton.ca
#INCLUDE/ETC/letsENCRYPT/Options-ssl-apache.conf
包括/etc/letscrypt/选项-ssl-apache.conf
SSL认证文件/etc/letsencrypt/live/www.mcarton.ca-0002/cert.pem
SSL证书密钥文件/etc/letsencrypt/live/www.mcarton.ca-0002/privkey.pem
#INCLUDE/ETC/letsENCRYPT/Options-ssl-apache.conf
SSL认证链文件/etc/letsencrypt/live/www.mcarton.ca-0002/chain.pem,想知道这是否会有帮助
北京--S
[Root@Centos6 conf.d]#apachectl-S
虚拟主机配置:
通配符名称VirtualHosts和默认服务器:
*:443是NameVirtualHost
默认服务器www.mcarton.ca(/etc/HTTPD/conf.d/ssl.conf:74)
端口443名称主机www.mcarton.ca(/etc/HTTPD/conf.d/ssl.conf:74)
端口443名称主机www.mcarton.ca(/etc/httpd/conf/httpd-le-ssl.conf:2)
*:80是NameVirtualHost
默认服务器www.mcarton.ca(/etc/httpd/conf/httpd.conf:1016)
端口80名称主机www.mcarton.ca(/etc/httpd/conf/httpd.conf:1016)
语法正常
谢谢你今天的帮助。在看了上面的输出后,我意识到它有两条针对端口443…的虚拟主机的指令所以在…中编辑掉了虚拟主机/conf.d/ssl.conf…不,同样的产量看起来要好得多。
[Root@Centos6会议]#apachectl-S
虚拟主机配置:
通配符名称VirtualHosts和默认服务器:
*:443是NameVirtualHost
默认服务器www.mcarton.ca(/etc/HTTPD/conf/HTTPD-LE-ssl.conf:2)
端口443名称主机www.mcarton.ca(/etc/httpd/conf/httpd-le-ssl.conf:2)
*:80是NameVirtualHost
默认服务器www.mcarton.ca(/etc/httpd/conf/httpd.conf:1016)
端口80名称主机www.mcarton.ca(/etc/httpd/conf/httpd.conf:1016)
别名mcarton.ca
语法正常
现在,端口443只有一个选项。
再次运行SLLABS测试…是的,它会找到正确的证书。
但是最初的cerbot-auto命令没有正确地更改HTTPD配置-所以要小心。
现在我已经让它工作了-我如何将所有对http://mcarton.ca的请求重定向到安全端口?
我能对丢失的文件做些什么--我能在4月之后拿到一张全新的证书吗?
谢谢你的帮助。,@joohoi,因为我现在有点积压,你能帮我吗?,Hi@Silverwater,谢谢你开启这个问题的讨论!
好的,对于最初的问题,我认为是这样的:
(我必须在这里做一些猜测和假设)
正如您的apachectl-S命令输出所示,看起来您有两个VirtualHost竞争服务于Servername www.mcarton.ca。另一个是预先存在的ssl.conf,另一个是由Certbot配置的。不幸的是,当Apache检查您的配置时,它似乎会优先考虑ssl.conf配置,这主要是因为主httpd.conf中包含语句的顺序。
因此,这导致Certbot认为它正确地配置了您的Apache(从某种意义上说,它确实是正确的),Apache仍然选择未更改的ssl.conf,而不是新的httpd-le-ssl.conf。这里的“正确”修复应该是从ssl.conf中删除Servername www.mcarton.ca,这样Certbot生成的SSL配置文件就会优先使用。
在您的情况下,我会做的是将两者都删除(请先备份):
来自ssl.conf的servername指令
Certbot生成的新的SSL虚拟主机:HTTPD-LE-ssl.conf。
然后使用与最初运行Certbot完全相同的命令行重新运行Certbot。当Certbot问您以下问题时:
您的现有证书具有与您请求的完全相同的域或证书名称,并且尚未过期。
(参考:/etc/letsENCRYPT/REVERATION/www.mcarton.ca.conf)
你想做什么?
-
1:尝试重新安装此现有证书
2:续订和更换证书(每7天限制~5次)
-
选择适当的数字[1-2],然后按[Enter](按‘c’取消):
您可以选择1让Certbot重新创建HTTPD-LE-ssl.conf。在此之后,我会认为您的配置应该很好。系统还会询问您是否要让Certbot配置您的HTTP Virtualhost以重定向到新的HTTPS One。我不完全确定Certbot抱怨的续订配置文件发生了什么情况,但这应该不会影响现有正确配置文件的续订。
有关Certbot可能选择错误的Virtualhost作为新配置基础的原始问题是什么?我需要知道ServerName www.mcarton.ca指令是最初存在于ssl.conf中,还是在运行Certbot后手动添加的。我们在Github中的Virtualhost选择上有一个问题,我将把这个帖子链接到那里。