所以我正在设置一个启用了SSL的nginx服务器,其服务器定义类似于:
server {
listen :80;
listen [::]:80;
server_name example.org;
root /foo/bar;
ssl on;
ssl_certificate /path/to/public/certificate;
ssl_certificate_key /path/to/private/key;
...
}
你明白了(请原谅任何错别字).
无论如何,我想知道的是;如果我更新我的证书,有没有办法安装它们而不必重新启动nginx?
例如,如果我使用从/ path /到/ public / certificate和/ path /到/ private / key的符号链接,指向我当前的证书,如果我只是简单地仍然需要重新启动nginx将这些更改为指向新(续订)证书?还有替代品吗?
解决方法:
是的,我很确定您需要重新加载Nginx才能使续订的证书显示正确的过期日期,但是只需一个简单的缓存清除和浏览就可以查看.
或者,如果您更喜欢cli,则可以始终使用旧的可靠OpenSSL命令:
echo | openssl s_client -connect your.domain.com:443 | openssl x509 -noout -dates
这将为您提供证书上的当前日期.在您的情况下,端口将是80而不是443.
很多时候nginx -s reload不能按预期工作.在许多系统(Debian等)上,您需要使用/etc/init.d/nginx reload.
如果所有其他方法都失败,您可以通过nginx -c /path/to/nginx.conf直接指定配置文件.