nginx 设置限制ip访问的教程

一、服务器全局限IP
#vi nginx.conf
allow 10.57.22.172; #允许的IP
deny all;

二、站点限IP
#vi vhosts.conf
站点全局限IP:
location / {
index index.html index.htm index.php;
allow 10.57.22.172;
deny all;

location ~ \.php$ {
if ( $fastcgi_script_name ~ \..*\/.*php ) {return 403;}
fastcgi_pass 127.0.0.1:9000;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME /var/www/htdocs$fastcgi_script_name;
include fastcgi_params;
}
}

站点IP限目录:
location / {
index index.html index.htm index.php;
}

location ^~ /test/ {
allow 10.57.22.172;
deny all;

if ( $fastcgi_script_name ~ \..*\/.*php ) {return 403;}
fastcgi_pass 127.0.0.1:9000;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME /var/www/htdocs$fastcgi_script_name;
include fastcgi_params;
}

location ~ \.php$ {
if ( $fastcgi_script_name ~ \..*\/.*php ) {return 403;}
fastcgi_pass 127.0.0.1:9000;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME /var/www/htdocs$fastcgi_script_name;
include fastcgi_params;
}

注意事项:
1. deny 一定要加一个ip,否则直接跳转到403,不往下执行了;如果403默认页是同一域名下,会造成死循环访问;
2. allow的ip段
从允许访问的段位从小到大排列,如127.0.0.0/24 下面才能是10.10.0.0/16
24表示子网掩码:255.255.255.0
16表示子网掩码:255.255.0.0
8表示子网掩码:255.0.0.0
3. deny all;结尾 表示除了上面allow的其他都禁止
如:
deny 192.168.1.1;
allow 127.0.0.0/24;
allo w 192.168.0.0/16;
allow 10.10.0.0/16;
deny all;

时间: 2024-09-22 17:29:55

nginx 设置限制ip访问的教程的相关文章

详解CentOS下Nginx如何禁止IP访问_Linux

我们就先看看Nginx的默认虚拟主机在用户通过IP访问,或者通过未设置的域名访问(比如有人把他自己的域名指向了你的ip)的时候生效最关键的一点是,在server的设置里面添加这一行: listen 80 default; 后面的default参数表示这个是默认虚拟主机. Nginx 禁止IP访问这个设置非常有用. 比如别人通过ip或者未知域名访问你的网站的时候,你希望禁止显示任何有效内容,可以给他返回500.目前国内很多机房都要求网站主关闭空主机头,防止未备案的域名指向过来造成麻烦. 就可以这样

Nginx 拒绝指定IP访问网站的配置

Nginx 拒绝指定IP访问的方法其实非常的简单,我们来看简单的配置 下面的这个例子将拒绝掉所有的连接: location / {   #这里将永远输出403错误.   deny all;   #这些指令不会被启用,因为到达的连接在第一条已经被拒绝   deny    192.168.1.1;   allow   192.168.1.0/24;   allow   10.1.1.0/1 } 当然我们可以有一部份合法的IP可以访问 控制规则按照声明的顺序进行检查,首条匹配IP的访问规则将被启用.

Nginx服务器限制IP访问的各种情况全解析_nginx

限制某个IP同一时间段的访问次数 如何设置能限制某个IP某一时间段的访问次数是一个让人头疼的问题,特别面对恶意的ddos攻击的时候.其中CC攻击(Challenge Collapsar)是DDOS(分布式拒绝服务)的一种,也是一种常见的网站攻击方法,攻击者通过代理服务器或者肉鸡向向受害主机不停地发大量数据包, 造成对方服务器资源耗尽,一直到宕机崩溃.    cc攻击一般就是使用有限的ip数对服务器频繁发送数据来达到攻击的目的,nginx可以通过HttpLimitReqModul和HttpLimi

腾达PR204设置静态IP地址上网教程

  第一步:连接好线路 直接将入户的网线(没有猫的用户)或者猫出来的网线(有猫的用户 )接在路由器的WAN口,再找一根短网线,一头接电脑,一头接路由器LAN1/LAN2/LAN3任意接口,接线方式如下图: 注意:路由器正常工作状态是指示灯POWER灯常亮,WAN灯常亮或闪烁,PLC灯常亮或闪烁,LAN1/LAN2/LAN3口中与电脑相连的端口常亮或闪烁. 第二步:配置好电脑 将电脑上的本地连接IP地址设置为"自动获得IP地址" 1.右键点击桌面上的"网上邻居",选择

nginx 设置网站目录访问验证方法

1.创建类htpasswd文件 执行:  代码如下 复制代码 wget -c soft.vpser.net/lnmp/ext/htpasswd.sh;bash htpasswd.sh 按提示输入用户名.密码.及认证文件名.脚本会自动生成认证文件.记录下脚本返回的文件路径.如:/usr/local/nginx/conf/vpser.net.auth. 2.为Nginx添加auth认证配置 下面是以某域名下面的soft目录为例,在域名的server段里加上如下代码:  代码如下 复制代码 locat

Nginx如何配置禁止通过IP访问

生产环境,今天无意中用IP访问了一下,发现竟然可以访问到,有一个域名被做为了默认域名.网上找了一下资料,Nginx可以设置禁止通过IP访问的. 在任一有效的Nginx配置文件中加上以下一段 # forbidden use ip address access server { listen 80 default_server; server_name _; return 444; } 其实思路很简单,就是用IP访问的时候,返回444错误. 本文出自 "吖吖個呸" 博客,请务必保留此出处h

Nginx中禁止使用IP访问网站的配置实例_nginx

国内因为备案的原因,所有服务器都要禁止使用IP访问网站.否则,如果允许使用IP访问网站,那随便解析一个域名到该IP,访问该域名就可以打开网站了.这是一个极大的风险!Nginx中可以很方便的来解决这个问题,小菜鸟来跟大家一起探讨一下. 国内因为备案的原因,所有服务器都要禁止使用IP访问网站.否则,如果允许使用IP访问网站,那随便解析一个域名到该IP,访问该域名就可以打开网站了.这是一个极大的风险!Nginx中可以很方便的来解决这个问题,小菜鸟来跟大家一起探讨一下. 如下的配置项,可以设置允许使用I

Nginx防止直接用IP访问Web服务器的设置方法_nginx

官方文档中提供的方法: If you do not want to process requests with undefined "Host" header lines, you may define a default server that just drops the requests: 复制代码 代码如下: server { listen 80 default_server; server_name _; return 444; } 说白了就是只要是访客用ip访问就直接重置4

linux服务器(nginx或者apache)限制IP访问

 近段时间一直饱受垃圾评论的攻击,服务器一度负载太高而宕机,参见:WordPress垃圾评论防御记.开始试了很多方法都不能很好的解决问题,最后通过屏蔽垃圾评论IP的方式,算是解决了这个问题,当然这个方法不是最好的,但是确实是非常实用的方法. 然后一些朋友就问我是怎么屏蔽这些垃圾评论的IP的,以及能否共享这些垃圾评论的IP,还有朋友问怎么提取自己博客的垃圾评论的IP,这个稍稍讲解下,高手略过,我也是个菜鸟. nginx环境下 新建 denyip.conf 文件,在服务器/usr/local/ngi