我有一个nginx服务器运行两个IP地址,说1.2.3.4和4.3.2.1 。 除了*.example.net (即wc1 ,指向1.2.3.4 )和*.sub.example.net (即wc2 ,指向4.3.2.1 )外,还有两个通配符SSL证书。
nginx文档提到您可以在server实例之间共享通配符证书,如下所示:
ssl_certificate wc1.crt; ssl_certificate_key wc1.key; server { listen 1.2.3.4:443; server_name www.example.net; ssl on; ... } server { listen 1.2.3.4:443; server_name test.example.net; ssl on; ... }
但是,我想知道这个相同的结构是否可以与第二个通配符证书一起使用。 这两个域名都有大约500个子域名。
不要混淆了,因为ssl_certificate结构现在是全局的吗?
尝试这个:
server { listen 1.2.3.4:443 default_server ssl; server_name _; ssl_certificate wc1.crt; ssl_certificate_key wc1.key; } server { listen 4.3.2.1:443 default_server ssl; server_name _; ssl_certificate wc2.crt; ssl_certificate_key wc2.key; } server { listen 1.2.3.4:443 ssl; server_name www.example.net; ... } server { listen 1.2.3.4:443 ssl; server_name test.example.net; ... } server { listen 4.3.2.1:443 ssl; server_name www.sub.example.net; ... } server { listen 4.3.2.1:443 ssl; server_name test.sub.example.net; ... }
我可以肯定的是,这种方法肯定与一个通配符证书一起工作,所以这里希望它可以与两个或更多的工作。
信用: https : //serverfault.com/a/548942/185775
ssl_certificate指令可以在http块级别(在这种情况下适用于所有server块)或server级别(在这种情况下仅适用于该特定server块)使用。 如果你想使用不同的证书,只需在适当的server块内定义ssl_certificate 。