阿里云
发表主题 回复主题
  • 1586阅读
  • 2回复

[环境配置]nginx 屏蔽IP不生效

级别: 新人
发帖
2
云币
9
nginx配置指定IP----- deny IP,这样屏蔽不生效,deny all; 就生效了。 allow IP也不生效。什么原因啊,哪位大拿帮着解决下。
关键词: 配置 nginx deny allow
级别: 论坛版主
发帖
3042
云币
8057
只看该作者 沙发  发表于: 2017-09-13
nginx的ngx_http_access_module 模块可以封配置内的ip或者ip段,语法如下: +$MNG   
g)*[W>M  
deny IP; dbTPY`  
deny subnet; "_qH+ =_R  
allow IP; 7qB}Hvh  
allow subnet; h1.]Nl C  
# block all ips })Og sBk  
deny    all; 3~"G(UP  
# allow all ips $_-f}E  
allow    all; :)v4:&do  
如果规则之间有冲突,会以最前面匹配的规则为准。 PaF`dnJ  
<|~8Ezd  
如何配置禁用ip或ip段呢? f&glY`s#  
$LLkYOwI  
下面说明假定nginx的目录在/usr/local/nginx/ 3]BK*OqJ  
*.wX9g9\  
首先要建一个封ip的配置文件blockips.conf,然后vi blockips.conf编辑此文件,在文件中输入要封的ip。  4l+"J:,  
G(F }o]  
deny 1.2.3.4; 2xvTijO0  
deny 91.212.45.0/24; )CQ'kHT<e  
deny 91.212.65.0/24; Al="ss&2  
然后保存此文件,并且打开nginx.conf文件,在http配置节内添加下面一行配置: mG2*s ^$  
/t`s.!k  
include blockips.conf; '#REbY5ev  
保存nginx.conf文件,然后测试现在的nginx配置文件是否是合法的: {)]5o| Hx  
!Mp.jE  
/usr/local/nginx/sbin/nginx -t F@Qzh  
如果配置没有问题,就会输出: /k3v\Jq{  
A{mv[x-XN  
the configuration file /usr/local/nginx/conf/nginx.conf syntax is ok ,)3%@MwO  
configuration file /usr/local/nginx/conf/nginx.conf test is successful !E<y:$eH:  
如果配置有问题就需要检查下哪儿有语法问题,如果没有问题,需要执行下面命令,让nginx重新载入配置文件。 aMQfg51W:  
\<WRk4D  
/usr/local/nginx/sbin/nginx -s reload Vo^ i7  
如何禁止所有外网ip,仅允许内网ip呢? <U(wLG'XS  
P!@b:.$  
如下配置文件 Zq7Y('=`t@  
ehB (?  
location / { 'jAX&7G`  
  # block one workstation r:fMd3;gq  
  deny    192.168.1.1; M4[(.8iE  
  # allow anyone in 192.168.1.0/24 !Au'WJfE  
  allow   192.168.1.0/24; 5Fa.X|R~  
  # drop rest of the world wq$+m (  
  deny    all; _p0@1 s(U  
} aQzDOeTi  
上面配置中禁止了192.168.1.1,允许其他内网网段,然后deny all禁止其他所有ip。 /dGpac  
fS9TDy  
如何格式化nginx的403页面呢? oPP`)b$x  
FI|jsO 3  
首先执行下面的命令: 4yy9m8/  
/G*]3=cSe  
cd /usr/local/nginx/html h=:Ls]ZU  
vi error403.html +d/V^ <#  
然后输入403的文件内容,例如: "u29| OY  
eO7 )LM4  
<html> ~4-:;8a  
<head><title>Error 403 - IP Address Blocked</title></head> #6okd*^  
<body> ;5S'?fj  
Your IP Address is blocked. If you this an error, please contact webmaster with your IP at webmaster@example.com Xg <R+o  
</body> * I)F5M  
</html> 5N~JRq\  
如果启用了SSI,可以在403中显示被封的客户端ip,如下: Ec3TY<mVr  
$0[t<4K`yn  
Your IP Address is <!--#echo var="REMOTE_ADDR" --> blocked. {wK| C<K  
保存error403文件,然后打开nginx的配置文件vi nginx.conf,在server配置节内添加下面内容 G!<-9HA5  
gPJZpaS  
# redirect server error pages to the static page PNgdWf3  
error_page   403  /error403.html; q0sdL86  
location = /error403.html { q0t}  
         root   html; h85 kQ^%  
} vRI0fDu  
然后保存配置文件,通过nginx -t命令测试配置文件是否正确,若正确通过nginx -s reload载入配置。
级别: 新人
发帖
2
云币
9
只看该作者 板凳  发表于: 2017-09-13
Renginx 屏蔽IP不生效
谢谢,
发表主题 回复主题
« 返回列表上一主题下一主题

限100 字节
批量上传需要先选择文件,再选择上传
 
验证问题: 阿里云官网域名是什么? 正确答案:www.aliyun.com
上一个 下一个