码迷,mamicode.com
首页 > Web开发 > 详细

Nginx禁止直接通过IP地址访问网站(关闭默认站点或空主机头)

时间:2015-03-12 23:57:59      阅读:4575      评论:0      收藏:0      [点我收藏+]

标签:

这篇文章主要介绍了Nginx中禁止使用IP访问网站的配置实例,一般在备案时可能需要这种设置,需要的朋友可以参考下
 

国内因为备案的原因,所有服务器都要禁止使用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;
}

 

 

在这里,我们设置主机名为空字符串以匹配未定义“Host”头的请求,而且返回了一个nginx特有的,非http标准的返回码444,它可以用来关闭连接。

 

从0.8.48版本开始,这已成为主机名的默认设置,所以可以省略server_name "",即如下的配置即可:

server {
    listen   80;
    return   444;
}

 

 

Nginx禁止直接通过IP地址访问网站(关闭默认站点或空主机头)

标签:

原文地址:http://www.cnblogs.com/irisrain/p/4333863.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!