新证书-不起作用

2025-07-10 22:15:02 3
  • 收藏
  • 管理

    对证书完全陌生。

    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选择上有一个问题,我将把这个帖子链接到那里。

    上一页:新证书ERR_CERT_COMMON_NAME_INVALID错误 下一页:新网站怎么做优化
    全部评论(0)