设置服务器范围的 ssl 配置

设置服务器范围的 ssl 配置

背景 我有一台只有一个站点的简单服务器。我想强制使用 SSL。我之前使用自签名证书执行此操作,但现在我获得了 letsencrypt 证书。我使用了自动设置,但当我访问我的站点时,它使用旧证书。

我认为我的问题类似于:尽管我有一个启用站点的文件,但仍然会显示默认的 apache index.html

在这个答案中:https://serverfault.com/a/690668/226403其中一个选项是“如果您希望将其作为您的默认/唯一主机,那么甚至不要理会 VirtualHost 标签,而是在服务器级别应用您的配置”。

问题我如何更改服务器范围的配置?我认为这个服务器范围的配置是使用旧证书的,但我不明白如何更改它?

谢谢!(我的设置是使用 apache 的 Ubuntu VM)

编辑:在 /etc/apache2/ssl 中有旧的 .key 和 .pem 文件,如果我移动这些一切严重损坏并且 Apache 无法启动!

解决方案(至少对我来说是这样)。显然,您可以在 sites-available 和 conf-available 中设置。Lets Encrypt 会自动为您设置 sites-available,但不会为您设置 conf-available。我执行了递归搜索(使用https://stackoverflow.com/questions/16956810/finding-all-files-containing-a-text-string-on-linux):。 $ grep -rnw '/etc/apache2/' -e 'SSLCertificateFile'在 conf-available 中发现不正确的文件并重新启动 apache sudo service apache2 reload:。

答案1

如果您有一个现有的、有效的 https 配置,那么/etc/apache2/ssl您只需要更改相关配置文件的值以指向 letsencrypt 提供的新文件。

例如,example.com 文件将存储在

/etc/letsencrypt/live/example.com/

您需要更改的配置设置是

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。

相关内容