我正在创建一个网站构建器,用户可以选择通过在其 DNS 中设置 CNAME 在自己的自定义域上托管网站。
一切在 http:// 上运行良好,但对于 https://,我使用 Letsencrypt 为其 CNAME 域生成 SSL 证书。
我的问题是如何将这些 SSL 证书添加到 apache.conf?
我可以编写一个 cron 作业来修改 httpd.conf 并添加它,但这意味着我必须重新启动 apache 服务器,而且当我有超过 50 个域时,这听起来不是一个解决方案。
大家知道如何让它发挥作用吗?
答案1
Apache 应在收到 SIGHUP 信号时重新加载配置。例如,如果您调用systemctl reload httpd
或service httpd reload
,您的配置应会更新。
此外,无需编辑 httpd.conf,您可以在 httpd.conf 中添加 include 指令并为每个域创建一个附加文件。
答案2
您只需执行一个命令即可重新加载 httpd,而无需重新启动它,它就可以正常工作。
httpd -k graceful
有疑问吗?检查:
man httpd
如果您希望将 SSL 证书添加到您的 apache 服务器中,我建议您在 apache 目录中创建一个名为 SSL 的目录,并创建一个名为 SSL/httpd-ssl.conf 的文件,并使用以下语句添加证书:
SSLEngine on
SSLCertificateFile /path/<certificate_file>.crt
SSLCertificateKeyFile /path/<private_key_file>.key
SSLCertificateChainFile /path/<intermediate>.crt
将此文件包含到您的 httpd.conf 中,执行httpd -k graceful
即可。