nginx 中同一 IP 上 3 个域的 SSL 的正确配置

nginx 中同一 IP 上 3 个域的 SSL 的正确配置

我已经为此工作了几个小时,但毫无成果。现在我有三个域名,例如 domain1.com、domain2.org 和 domain3.net。这些域名都使用相同的 IP 地址。

domain1 和 domain2 各自具有来自受信任机构的单独 SSL 证书。domain3 具有自签名证书,虽然不是理想的,但在这种情况下已经足够了(我认为这不会有什么区别)。

问题是,当通过域名访问时,正确的站点正在被提供服务,但是当通过 IP 地址访问时,域 3 使用域 3 的证书提供服务,而我无论如何也想不出如何让它使用域 1……理想情况下,对 IP 发出的任何请求都将被重定向到 domain1.com。

任何帮助,将不胜感激。

答案1

根据nginx 文档,您可以指定当没有匹配的服务器名称时哪个站点将成为默认站点,这个与参数一起使用default_server

来自文档:

server {
     listen      443 default_server;
     server_name example.net www.example.net;
    ...}

答案2

将 IP 地址添加到您想要server_name为其server提供服务的。

相关内容