我在 AWS 上复制了一个 EC2 实例,因为所有者丢失了 pem 文件,无法通过 SSH 访问。它配置了两个站点,但当我通过其公共 DNS 访问此服务器时,它会为我提供其中一个站点。它如何知道选择它为我提供的站点?我没有看到任何配置表明其中一个站点是默认站点(类似于listen 80 default
)。
在/etc/nginx/sites-available
(按顺序):
default
new-site
site
在/etc/nginx/sites-enabled
(按顺序):
new-site
site
答案1
如果您浏览到正确的主机名,您的浏览器将向Host
服务器发送标头。然后,如果有匹配的虚拟主机(查看指令server_name
),nginx 将为该虚拟主机提供服务。
如果你浏览的是服务器 IP或者如果您浏览到与任何指令都不匹配的主机名server_name
,它将提供默认的 vhost 或首先加载的 vhost 文件(按字母顺序)。
注意:如果这些是 HTTPS 连接,信噪比也参与其中。