/etc/apache2/sites-enabled
有example.com.conf
和时,正确的编辑方式是example.com-le-ssl.conf
什么?
更改某些内容时,我应该同时编辑两个文件吗?还是只有一个然后以某种方式强制certbot-auto
修复它?
我不确定您的问题的正确答案是什么,但是我建议您进行以下简化:
1.强制所有用户使用HTTPS。HTTP VirtualHost的定义应如下所示:
<VirtualHost *:80>
ServerName example.com
# Redirect Requests to HTTPS
Redirect permanent "/" "https://example.com/"
ErrorLog ${APACHE_LOG_DIR}/example.com.error.log
CustomLog ${APACHE_LOG_DIR}/example.com.access.log combined
</VirtualHost>
这样,您将只需要维护HTTPS VirtualHost的配置。
2.一旦你产生“让我们加密” SSL证书文件,手动形容他们到HTTP的定义小号虚拟主机:
<IfModule mod_ssl.c>
<VirtualHost _default_:443>
ServerName example.com
ServerAdmin [email protected]
SSLEngine on
SSLCertificateFile /etc/letsencrypt/live/example.com/cert.pem
SSLCertificateKeyFile /etc/letsencrypt/live/example.com/privkey.pem
SSLCertificateChainFile /etc/letsencrypt/live/example.com/chain.pem
ErrorLog ${APACHE_LOG_DIR}/example.com.error.log
CustomLog ${APACHE_LOG_DIR}/example.com.access.log combined
DocumentRoot /var/www/html
<Directory /var/www/html>
# etc...
</Directory>
# etc...
</VirtualHost>
</IfModule>
3.将两个VirtualHost的定义插入单个配置文件中:
<VirtualHost *:80>
# etc...
</VirtualHost>
<IfModule mod_ssl.c>
<VirtualHost _default_:443>
# etc...
</VirtualHost>
</IfModule>
该文件可能是/etc/apache2/sites-available/example.com.conf
。
4.不要忘记使用a2dissite
不必要的VirtualHosts(分别a2ensite
是必需的)并重新启动Apache。
5.例如,编辑root的crontab并添加一个作业,该作业将尝试每周更新证书。sudo crontab -e
在底部键入并添加以下行:
0 3 * * 0 /usr/bin/letsencrypt renew >> /var/log/letsencrypt-renew.week-$(date +%W).log 2>&1
就是这样。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句