我们在使用的时候会遇到很多的恶意IP攻击,这个时候就要用到Nginx 禁止IP访问了。下面我们就先看看Nginx的默认虚拟主机在用户通过IP访问,或者通过未设置的域名访问(比如有人把他自己的域名指向了你的ip)的时 候生效最关键的一点是,在server的设置里面添加这一行:

listen 80 default; 

后面的default参数表示这个是默认虚拟主机。

Nginx 禁止IP访问这个设置非常有用。

比如别人通过ip或者未知域名访问你的网站的时候,你希望禁止显示任何有效内容,可以给他返回500.目前国内很多机房都要求网站主关闭空主机头,防止未备案的域名指向过来造成麻烦。就可以这样设置:

server {  
listen 80 default;
return 500;
}

也可以把这些流量收集起来,导入到自己的网站,只要做以下跳转设置就可以:

server {  
listen 80 default;
rewrite ^(.*) http://www.example.com permanent;
}

按照如上设置后,确实不能通过IP访问服务器了,但是在应该用中出现当server_name后跟多个域名时,其中一个域名怎么都无法访问,设置如下:

server  {  
listen 80;
server_name www.example.com example.com
}

没更改之前,通过server_name 中的www.example.com example.com均可访问服务器,加入Nginx 禁止IP访问的设置后,通过example.com无法访问服务器了,www.example.com可以访问,用 Nginx -t 检测配置文件会提示warning:

   [warn]: conflicting server name “example.com” on 0.0.0.0:80, 
ignored
the configuration file /usr/local/Nginx/conf/
Nginx.conf syntax is ok
configuration file /usr/local/Nginx/conf/Nginx.
conf test is successful

最后通过在listen 80 default;后再加server_name _;解决,形式如下:

 
  #禁止IP访问  
server {
listen 80 default;
server_name _;
server_name www.example.com example.com
return 500;
}

这样,通过example.com就能访问服务器了。

nginx 禁止某个IP访问

首先建立下面的配置文件放在nginx的conf目录下面,命名为blocksip.conf:

deny 95.105.25.181;

保存一下。

在nginx的配置文件nginx.conf中加入:include blocksip.conf;

重启一下nginx的服务:/usr/local/nginx/sbin/nginx -s reload 就可以生效了。

blocksip.conf:的格式还有许多种,可以配置只允许的IP访问或者IP段访问:

deny IP;

allow IP;

# block all ips 
deny all; 
# allow all ips 
allow all;

其中网段的写法是这样的:192.168.1.0/24这样的形式。

deny 192.168.1.11;
deny 192.168.1.123;
deny 10.0.1.0/24;

如果你想实现这样的应用,除了几个IP外,其他全部拒绝,
那需要你在ip.balcklist中这样写
allow 1.1.1.1; 
allow 1.1.1.2;
deny all; 

单独网站屏闭IP的方法:

在server"{}",在这个大括号内加入deny IP地址是限制某IP地址访问;allow IP地址是只允许某IP地址访问;

#屏蔽单个IP的命令是
deny 123.45.6.7
#封整个段即从123.0.0.1到123.255.255.254的命令
deny 123.0.0.0/8
#封IP段即从123.45.0.1到123.45.255.254的命令
deny 124.45.0.0/16
#封IP段即从123.45.6.1到123.45.6.254的命令是
deny 123.45.6.0/24

Nginx 禁止IP访问的更多相关文章

  1. Nginx禁止ip访问或IP网段访问方法

    Nginx禁止ip访问可以防止指定IP访问我们的网站,本例子可以实现是防止单IP访问或IP网段访问了,非常的有用我们一起来看看吧. 常用的linux做法 iptables参考规则  代码如下 复制代码 ...

  2. Nginx禁止IP访问,只允许域名访问

    Nginx禁止IP访问,只允许域名访问 我们在使用nginx的过程中会遇到很多的恶意IP攻击,这个时候就要用到Nginx 禁止IP访问了. 1.直接返回403错误 server { listen de ...

  3. [转帖]nginx 禁止ip访问以及禁止post方法的简单方法

    nginx禁止IP访问站点的设置方法 http://www.512873.com/archives/471.html http://www.512873.com/archives/312.html c ...

  4. Nginx 禁止IP访问 只允许域名访问

    今天要在Nginx上设置禁止通过IP访问服务器,只能通过域名访问,这样做是为了避免别人把未备案的域名解析到自己的服务器IP而导致服务器被断网,从网络上搜到以下解决方案: Nginx的默认虚拟主机在用户 ...

  5. nginx配置指定域名访问,nginx禁止ip访问,配置空主机头 syscal

    1.大家有过这方面的困扰,就是自己的网站给其他人恶意域名解析到自己的服务器ip上. 特别不爽,那大家可以用用空主机头的方法. 先给大家看下我的nginx.conf配置 http { log_forma ...

  6. Nginx 禁止 ip 访问

    server { listen 80 default_server; server_name _; access_log /logs/ip-access.log main; error_log /lo ...

  7. nginx禁止IP访问系统

    server { listen 80 default; server_name _; if ($host ~ "\d+\.\d+\.\d+\.\d") { return 404; ...

  8. 设置nginx禁止IP直接访问,只能通过指定的域名访问

    nginx的版本是1.2.1. 设置配置文件disableip.conf: server {     listen 80;     server_name _;     return500; } 这是 ...

  9. nginx只允许域名访问,禁止ip访问

    背景:为什么要禁止ip访问页面呢?这样做是为了避免其他人把未备案的域名解析到自己的服务器IP,而导致服务器被断网,我们可以通过禁止使用ip访问的方法,防止此类事情的发生. 解决方法:这里介绍修改配置文 ...

随机推荐

  1. 自己动手实现STL 02:构造析构的基本工具construct()和destroy()(stl_construct.h)

    一.前言 上一篇,我先完成了对内存配置器的实现.然而后面在内存上的算法还依赖于两个全局函数,construct()和destroy(),前者负责在指定的内存上调用对象的构造函数,在内存上构造出对象.后 ...

  2. Android中ProgressDialog的简单示例

    网上一般对进度条的示例都是如何显示,没有在任务结束如何关闭的文章,参考其他文章经过试验之后把整套进度条显示的简单示例如下: 建立android工程等工作都略去,Google一下就可以了. 下面来介绍主 ...

  3. Python3 学习第一弹:基本数据类型

    本人学习主要从<python基础教程第二版>,<dive into python3>等书籍,及一些网上大牛的博客中学习特别是Python官方文档<Python Tutor ...

  4. uva 1642 Magical GCD

    很经典的题目,愣是没做出来.. 题意:给出一个序列,求一子序列,满足其GCD(子序列)* length(子序列)最大. 题解: 类似单调队列的思想,每次将前面所得的最大公约数与当前数进行GCD,若GC ...

  5. [swustoj 1023] Escape

    Escape     Description BH is in a maze,the maze is a matrix,he wants to escape! Input The input cons ...

  6. javascript一些有用但又不常用的特性

    1.onclick="save();return false;" 取消“浏览器默认行为”.     比如一个链接     <a href="http://zhida ...

  7. 如何合并IP网段

    1. 安装IPy pip3 install IPy 2. 写脚本: yuyue@workplace:~ $ cat combine_ip.pyfrom IPy import IPSet, IPimpo ...

  8. WPF如何在同一个区域依次叠加显示多张图片呢?

    正如标题的问题,有时需要在已显示的图片的右上角(或其他区域)显示小图标,譬如下图的患者头像右上角显示病情图标:(这里不采用事先用PS编排成一个图片文件的方式,因为此方式普适性不好) 解决方案:绘制该复 ...

  9. CF 577C Vasya and Petya's Game

    题意:一个游戏,A童鞋在1~n的范围里猜一个数,B童鞋询问一个集合,A童鞋要对集合里每个数做出回答,他猜的数能否给整除,B要通过这些答案得到A猜的数,最少需要猜哪些数? 解法:一个数可以由若干个质数的 ...

  10. C# 一次查询多表,填充DataSet并指定表名

    lhrhi 原文 NET 一次查询多表,填充DataSet并指定表名(DataSet指定DataTable名称的技巧) 现实中的场景,有时可能需要一次查询数据库中表张.在使用SqlDataAdapte ...