我有多个域名,目前它们都通过 Lets Encrypt 位于单个 SSL 证书上。
但是我想将它们分开,并为每个域获取单独的证书。我遇到的问题以及我希望实现的目标是:
我有几个正在进行反向代理的子域名。例如 sd1。, sd2。、sd3.* 等。目前,如果所有域都使用单个证书,则此方法可行。无论有人访问 sd1.domain1.com 还是 sd1.domain3.com,它都使用单个证书,一切正常。
我正在尝试找出是否有可能/正确的方法让请求的域处理证书没有必须为每个子域/域组合创建服务器块。
我想将 sd1.* 保留为反向代理的服务器块,但如果访问 sd1.domain1.com,则让它提供域 1 的证书,如果访问 sd1.domain2.com,则让它提供域 2 的证书。
是否可以让 NGINX 根据请求的主机/URI 而不是仅通过服务器块来提供证书?
答案1
如果您有单独的 TLS 证书,则每个证书都需要一个单独的server
块。您可以使用该include
指令来制作配置片段,其中包含可以在整体配置中的多个位置使用的指令。