我正在尝试为我的所有子域* .booda.me
创建HTTPS通配符证书。我的服务器托管在“ Amazon Linux AMI”上的Amazon Web服务上。
当我使用以下命令运行certbot时: letsencrypt certonly --manual --preferred-challenges dns --register -d mydomain.me -d * .mydomain.me
我被要求创建一个包含字符串的acme-challenge“ TXT” DNS。 会使用“ bmydomainoda.me”和“ * .mydomain.me”的确认消息来验证证书。
当我验证第一个DNS“ TXT”时,我等待几分钟进行传播。然后,我通过修改第一个DNS更新通配符的第二个DNS“ TXT”,因为AWS不允许我添加第二个“ _acme-challenge.mydomain.me”。 但我认为这可能不是问题...
通过https://mydomain.me,我可以使用它,但是我的子域中没有一个检测到“我们加密”证书。
当我尝试访问子域时出现此错误:https://formation.mydomain.me/logon.php
我的httpd-le-sll.conf配置文件如下:
<VirtualHost *: 443>
DocumentRoot “/ var / www / html”
ServerName “mydomain.me”
ServerAlias "www.mydomain.me"
SSLCertificateFile /etc/letsencrypt/live/mydomain.me-0001/fullchain.pem
SSLCertificateKeyFile /etc/letsencrypt/live/mydomain.me-0001/privkey.pem
Include /etc/letsencrypt/options-ssl-apache.conf
</ VirtualHost>
我不知道它的来源。我通过选择“(E)xpand”来更新证书,但是它不起作用。
它从哪里来,我开始感到绝望...
答案 0 :(得分:1)
网站https://test.booda.me/
未使用通配符证书。 Subject
和Subject Alternative Name
均指定subdomain.booda.me
。重新创建您的证书或选择正确的证书。您指定的命令行未用于创建您正在使用的证书。您会收到一条错误消息,并且证书名称不匹配(在命令行中未指定子域)。
注意:星号和域名* .booda.me
之间没有空格。您的命令行和apache配置文件中都有此错误。
答案 1 :(得分:0)
我终于找到了解决方案! 在AWS上,可以在一个_acme-challenge中用一条简单的返回行来通知两行“ DNS TXT”。
因此,我能够为mydomain.me和通配符创建一个加密证书。
然后它在我的VHOST中丢失了一个别名,该别名现在提供:
<IfModule mod_ssl.c>
<VirtualHost *: 443>
DocumentRoot "/ var / www / html"
ServerName "mydomain.me"
ServerAlias "*.mydomain.me"
SSLCertificateFile /etc/letsencrypt/live/booda.me/fullchain.pem
SSLCertificateKeyFile /etc/letsencrypt/live/booda.me/privkey.pem
Include /etc/letsencrypt/options-ssl-apache.conf
</ VirtualHost>
</ IfModule>
谢谢大家的帮助!主题已解决:)