背景我有一个简单的服务器只有一个网站。 我想强制ssl。 我以前用自签名证书做了这个,但现在我有了一个letsencrypt证书。 我已经使用了自动设置,但是当我访问我的网站时,它使用旧的证书。
我想我的问题类似于: 默认apache index.html显示,即使我有一个网站启用文件
在这个答案: https : //serverfault.com/a/690668/226403其中一个选项是“如果你想这个作为你的默认/唯一的主机,那么甚至不打扰VirtualHost标签,并应用你的configuration在服务器级别“。
问题如何更改服务器范围的configuration? 我认为这个服务器广泛的configuration是使用旧的证书,但我不知道如何改变它?
谢谢! (我的设置是使用apache的Ubuntu VM)
编辑:在/ etc / apache2 / ssl中有旧的.key和.pem文件,如果我把这些东西都打破了,Apache将无法启动!
解决scheme (至less对我来说)。 显然你可以在网站上设置可用和可用的。 让encryption自动设置站点 – 为您提供,但不可configuration。 我执行了recursionsearch(使用https://stackoverflow.com/questions/16956810/finding-all-files-containing-a-text-string-on-linux):$ $ grep -rnw '/etc/apache2/' -e 'SSLCertificateFile' 。 在conf-available中find不正确的文件并重新启动apache: sudo service apache2 reload 。
如果在/etc/apache2/ssl有一个现有的,正在运行的httpsconfiguration,则只需要更改相关configuration文件的值,以指向由letsencrypt提供的新文件。
例如,example.com文件将被存储在
/etc/letsencrypt/live/example.com/
您需要更改的configuration设置是
SSLCertificateFile /etc/letsencrypt/live/example.com/cert.pem SSLCertificateKeyFile /etc/letsencrypt/live/example.com/privkey.pem SSLCertificateChainFile /etc/letsencrypt/live/example.com/fullchain.pem
保存文件并重新启动apache2。