我需要在 SSL 下在同一配置文件中支持 blah.domain1.com 和 blah.domain2.com。我有 *.domain1.com 和 *.domain2.com 的通配符 SSL 证书(这是一个多租户服务器)。
因为这(当然)行不通,所以我有什么选择呢:
server_name blah.domain1.com blah.domain2.com;
ssl_certificate /etc/ssl/certs/domain1.crt;
ssl_certificate_key /etc/ssl/private/domain2.key;
我是否需要克隆 .conf 并分别引用每个域和 SSL 证书,或者我还能做些什么?
谢谢。
答案1
我认为有很多方法可以实现这一点,但这是我所做的:
在块中包含nginx.conf
以下行http
:
include .../nginx/sites-enabled/*;
该sites-enabled
目录包含每个域的 conf 文件的符号链接。
然后使用.../nginx/sites-available/
符号链接指向。这样,您就可以管理每个域的唯一 conf 文件。
...nginx/sites-available/example.com
:
server {
<configuration>
}
...nginx/sites-available/example.net
:
server {
<configuration>
}
当您希望 example.com 可供 nginx 提供服务时,只需运行:
# ln -s .../nginx/sites-available/example.com .../nginx/sites-enabled/example.com
# service nginx restart
我更喜欢这种方法,因为查看很长的配置文件会让我感到困惑。