我已经为此工作了几个小时,但毫无成果。现在我有三个域名,例如 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
提供服务的。