目前,我正在尝试在我的 Ubuntu 16.04 服务器上设置 let's encrypt。我使用 Apache 2.4.18 作为我的 Web 服务器和 Passenger。
我正在使用以下命令来生成我的证书并配置 apache 文件:
letsencrypt -d example.com --apache
https://certbot.eff.org/#ubuntuxenial-apache
但是 letsencrypt 给了我以下错误消息:
目前,我们仅支持在 apache2.conf 中每个文件配置一个 vhost
问题是我只配置了一个 vhost。我没有在文件中更改太多内容,但这可能是问题所在。
我只插入 vhost 标签(它在我的文件中只出现一次)
<VirtualHost x.x.x.x:80> # I am not using wildcard but my IP instead
ServerName www.mydomain.com
Alias /sub /var/...
<Location /sub>
PassengerBaseUri /sub
PassengerAppRoot /var/..
</Location>
<Directory /var/..>
Allow from all
Options -MultiViews
Require all granted
</Directory>
</VirtualHost>
您需要我的.conf 文件中的更多信息吗?
我必须承认,我对这类事情还不熟悉,不知道我的错误在哪里。我没有包含其他文件,并且我使用以下方法检查了所有 vhost:
apache2ctl -S
只有一个。我认为错误消息不是 100% 正确的,并且 letsencrypt 失败的原因与我的 vhost 不同。
有任何想法吗?
答案1
验证域名所有权的方法有很多种。您可能希望使用其他方法来验证域名所有权,例如--webroot
或--standalone