Nginx 使网站无法通过 IP 访问

Hed*_*dge 3 nginx routing ip

我已将我的网站设置为可通过 example.com 访问。如果可能的话,我想阻止它完全通过其 IP 访问或至少 301 将其重定向到网站。

前者是否可能,如果是,如何?

小智 9

您必须创建一个默认的 vhost 配置文件并将其包含在其他文件之前。

例如,您可以将此默认配置保存到 /etc/nginx/conf/default.conf:

server {
    listen 80 default_server;
    return 444;
}
Run Code Online (Sandbox Code Playgroud)

并将其包含在 nginx.conf 中:

http {
....
 include "/etc/nginx/conf/default.conf";
 include "/etc/nginx/vhosts/*.conf";

}
Run Code Online (Sandbox Code Playgroud)

确保它包含在其他 vhost 的配置之前。

  • 您的 `example.com` 虚拟主机中缺少正确的 `server_name` 指令。 (3认同)
  • 请注意,在 `default_server` 服务器块中不需要 `server_name` 指令,并且鉴于指定了 `default_server`(即`确保在其他虚拟主机配置之前包含它),包含的顺序文件并不重要。 ` <- 没有必要)。 (3认同)