国内因为备案的原因,所有服务器都要禁止使用IP访问网站。否则,如果允许使用IP访问网站,那随便解析一个域名到该IP,访问该域名就可以打开网站了。这是一个极大的风险!Nginx中可以很方便的来解决这个问题,小菜鸟来跟大家一起探讨一下。
如下的配置项,可以设置允许使用IP访问网站。
server { listen 80; server_name ""; }
这里相当于是绑定了一个空的主机头,于是任意主机头,只要是指向这个IP的都可以打开网站了。
也可以把这些流量收集起来,导进到本人的网站,只需做以下跳转设置就可以:
server { listen 80 default; rewrite ^(.*) http://www.abc.com; }
如果需要Nginx禁止使用IP访问网站,可以定义如下主机,丢弃这些请求:
server { listen 80default; server_name ""; return 444; }
或者
server { listen 80 default; server_name _; return 500; }
从0.8.48版本开始,这已成为主机名的默认设置,所以可以省略server_name "",即如下的配置即可:
server { listen 80; return 444; }
Nginx禁止直接通过IP地址访问网站(关闭默认站点或空主机头)
原文:http://www.cnblogs.com/irisrain/p/4333863.html