一个网站上线后,我们可以通过域名或者直接使用IP访问之。但很多时候我们是不希望用户直接通过IP来访问我们的网站的,甚至有其它非法的域名绑定网站IP后,也能访问。杜绝这种现象,可以通过nginx的默认虚拟主机来实现。
实现起来其实非常简单,在nginx的conf路径下,打开核心配置文件nginx.conf,可以看到至少一个server节点,我们只需要在这些server节点之后多加一个这样的server节点:
server {
listen 80 default;
return 500;
}
重启nginx后,再使用ip来访问,发现再也访问不了网站主页了,只能跳到500错误页面。
原因就是我们把新加的这个server当做了一个默认的虚拟主机(加了default),当网站不使用合法的域名访问时,一律会跳到500错误页面。
那么,除了跳500,有没有更好的方式呢?我们知道一个网站流量的多少是非常重要的,那么我们也可以通过配置nginx,来将这些非法的访问变成合法的流量。
配置如下:
server {
listen 80 default;
rewrite ^(.*) http://www.aaa.com permanent;
}
通过以上的配置,所有通过IP或者非法域名访问我们网站的请求,都会被重定向到www.aaa.com(合法域名),那么非法访问自然就转换为网站流量了。