如果我续订我的安全证书,是否需要重新启动Nginx?

所以我正在设置一个启用了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直接指定配置文件.

上一篇:openssl – 在localhost上实现SSL的正确方法


下一篇:在Linux中不信任中间CA?