我正在运行一个 Apache 服务器,需要进行一次小规模的配置更新。我想强制 Apache 重新加载配置(例如通过 /etc/init.d/httpd reload 或 apachectl graceful),但我没有我们的 SSL 证书密码。拥有密码的管理员现在不在。
如果我正常地重新加载 apache 配置,SSL 证书是否需要再次输入密码?还是只有在服务器完全重启时才会发生这种情况?
答案1
不可以。SSL 证书仅在完全重启时重新加载,而不是正常重启。
这意味着您不需要在重新加载/正常加载时重新输入密码,也意味着对证书/新证书/等的更改需要完全重启才能生效。
答案2
因为人们对完全重启和优雅重启有些困惑,所以我必须说
apachectl restart
完全重启服务器,但这不是正常操作。这意味着当前连接被中止。
您想要实现的目标可以通过以下方式轻松实现:
apachectl graceful
两种方法都会重新加载证书。
这会完全重启 Apache,但不会中止活动连接。它不会接受新连接,直到当前连接完成处理并重启。
总之,两者restart
都graceful
执行完整的 apache 重启,但是优雅不会中止连接,而是等待它们关闭,然后重新启动。
答案3
确保您确实改变了一些东西。
在您的 webserver-config 中找到证书的位置。我的在这里:/etc/apache2/sites-enabled/ssl.conf
它在我的盒子上看起来像这样:
SSLCertificateFile /etc/ssl/certs/example.de.pem
检查证书
openssl x509 -text -in /etc/ssl/certs/example.de.pem
并确认这是否是您想要的证书。
我必须更换证书,因为它很快就会失效,我用同一份旧证书的副本替换了旧证书。这显然不会改变任何事情,所以我最终陷入了这样的境地。