有什么方法可以在没有任何提示的情况下生成 www 和非 www 的证书?
不,目前没有。如果您有复杂的虚拟主机,我不相信 certbot 可以正确管理它们。这只是感觉不可靠,事实证明,至少目前它在实践中是不可靠的。
关于 certbot 的 apache 模块可以可靠地对您的虚拟主机做的唯一事情是在单一 --domain
情况下在全新安装上安装默认 SSL 虚拟主机。对于其他任何使用certonly
选项,然后放入链接到生成的证书的虚拟主机,这很容易。证书的路径可以由第一个域参数的值或由参数指定的值可靠地确定--cert-name
。所以:
certbot certonly --apache -n --domains domain.tld,www.domain.tld --agree-tos --email mail@domain.com
然后放入链接到证书路径的虚拟主机。示例默认 SSL 虚拟主机000-default-ssl.conf
:
<IfModule mod_ssl.c>
<VirtualHost *:443>
ServerAdmin webmaster@localhost
DocumentRoot /var/www/html
# LogLevel info ssl:warn
ErrorLog ${APACHE_LOG_DIR}/error.log
CustomLog ${APACHE_LOG_DIR}/access.log combined
# ServerName not required for default.
SSLCertificateFile /etc/letsencrypt/live/domain.tld/fullchain.pem
SSLCertificateKeyFile /etc/letsencrypt/live/domain.tld/privkey.pem
Include /etc/letsencrypt/options-ssl-apache.conf
</VirtualHost>
</IfModule>
然后重新加载:
a2ensite 000-default-ssl.conf
service apache2 reload