现在很多网站都是用Nginx来架设, 当一个vps上有多个网站时,当你用IP或者任意域名解析到IP上,访问的网站会是你意想不到的。这就要知道Nginx默认网站的设置方法。在nginx中,每个站点都是由一个server段定义的,这里面设定了监听的ip和端口,站点的域名,根目录等信息。但一般来说vps主机上每个ip上会对应几个不同的站点。这样就会出现一个问题,直接访问这个ip的话,访问的会是哪个站点?

在Listen ip:port; 这个指令行中,有一个参数default,指定了它后,这个server段就会是这个ip的默认站点;如果没有这个参数,那么默认ip直接访问的是nginx.conf中出现的第一个server段对应的站点。

默认情况下,只要将域名解析到VPS的IP上,就可以访问安装lnmp的VPS。如果想避免这种情况的出现,可以修改nginx.conf ,将默认的虚拟主机修改为如下即可屏蔽未绑定域名访问:

  server {   listen 80 default;   return 500;   }

也可以把这些流量收集起来,导进到本人的网站,只需做以下跳转设置就可以:

server { listen 80 default; rewrite ^(.*) http://www.dengor.com permanent;  (跳转到指定页面) }

以此类推, 禁止通过IP访问,可以写成:

server { listen 80 default; server_name _;        (禁止IP访问) return 500; }