在网上能看到的关于 nginx 配置 HTTPS 的 SSL/TLS 证书文件的文章,大多数时候应该都是下面这样的,每个server
配置独立的证书:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 |
|
这种情况用于每个服务器(server)不在同一级域名下或者都使用不同的证书的配置,也可以简单说成是独立网站。
而如果这台主机上面的所有域名都共享同一个证书文件,比如我,所有***.twofei.com**的服务器使用相同的证书,那么,上面的配置可以简化一下,降低维护成本,把精力拿去做更多更有意义的事。
nginx文档上面关于ssl_certificate和ssl_certificate_key的语法如下:
Syntax: ssl_certificate file;
Default: —
Context: http, server
Syntax: ssl_certificate_key file;
Default: —
Context: http, server
可以看到,这两个指令(directive)都是可以在http
和server
两个上下文(Context)中使用的。
所以,如果当前http
下的所有server
共用相同的证书,那么,可以直接在http
下面配置一次即可。
1 2 3 4 |
|
然后,其它的位于server
中的就可以删掉了。如果也配置了,会覆盖掉http
中的相同配置。
通常,nginx只有一个http
配置块,这个配置块在nginx.conf
中。