阿里云
社区时光机
发表主题 回复主题
  • 978阅读
  • 2回复

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

级别: 新人
发帖
2
云币
9
nginx配置指定IP----- deny IP,这样屏蔽不生效,deny all; 就生效了。 allow IP也不生效。什么原因啊,哪位大拿帮着解决下。
关键词: 配置 nginx deny allow
级别: 论坛版主
发帖
2650
云币
7245
只看该作者 沙发  发表于: 2017-09-13
nginx的ngx_http_access_module 模块可以封配置内的ip或者ip段,语法如下: v><uHjP  
I~>L4~g)  
deny IP; /0H39]y!~  
deny subnet; L3- tD67oa  
allow IP; 8o;9=.<<~u  
allow subnet; slK L(-D{  
# block all ips <C_FI` wk  
deny    all; 3QrYH @7zx  
# allow all ips ]n:)W.|`R  
allow    all; GlVD!0  
如果规则之间有冲突,会以最前面匹配的规则为准。 fw1g;;E  
L_YVe(dT  
如何配置禁用ip或ip段呢? &~7b-foCq  
b%<i&YY#  
下面说明假定nginx的目录在/usr/local/nginx/ 6"W~%FSJX  
a|im DY_-j  
首先要建一个封ip的配置文件blockips.conf,然后vi blockips.conf编辑此文件,在文件中输入要封的ip。 j5:{H4?  
/IC7q?avQN  
deny 1.2.3.4; -)tu$W*  
deny 91.212.45.0/24; QpPJ99B|  
deny 91.212.65.0/24; !s]LWCX+|  
然后保存此文件,并且打开nginx.conf文件,在http配置节内添加下面一行配置: :,=no>mMx  
MD ,}-m  
include blockips.conf; y$At$i>u  
保存nginx.conf文件,然后测试现在的nginx配置文件是否是合法的: \S@;>A<J  
T }X#I'Z  
/usr/local/nginx/sbin/nginx -t :sBg+MS  
如果配置没有问题,就会输出: 451r!U1Z  
 wNW9xmS  
the configuration file /usr/local/nginx/conf/nginx.conf syntax is ok {7)D/WY5  
configuration file /usr/local/nginx/conf/nginx.conf test is successful ']+-u{+#  
如果配置有问题就需要检查下哪儿有语法问题,如果没有问题,需要执行下面命令,让nginx重新载入配置文件。 cRX0i;zag  
v3+ \A q   
/usr/local/nginx/sbin/nginx -s reload g`!:7|&,_  
如何禁止所有外网ip,仅允许内网ip呢? Qcz7IA  
m[C-/f^u|  
如下配置文件 z$E+xZ  
V$+xJ  m  
location / { 5yO6szg  
  # block one workstation 9 I> 3p4]  
  deny    192.168.1.1; ]+W+8)f 1M  
  # allow anyone in 192.168.1.0/24 h@T}WZv  
  allow   192.168.1.0/24; 8ltHR]v  
  # drop rest of the world *tjE#TW  
  deny    all; {hX. R  
} #:Di1I9<O7  
上面配置中禁止了192.168.1.1,允许其他内网网段,然后deny all禁止其他所有ip。 0 iW]#O/  
F9ry?g=h  
如何格式化nginx的403页面呢? ~<3qsA..  
A8hj"V47  
首先执行下面的命令: 0i9y-32-  
Rs:<'A  
cd /usr/local/nginx/html _$By c(.c  
vi error403.html 7Rj!vj/  
然后输入403的文件内容,例如: !J[3U   
3Qe:d_  
<html> %L{H_;z  
<head><title>Error 403 - IP Address Blocked</title></head> LGPy>,!  
<body> mUzNrkG(G  
Your IP Address is blocked. If you this an error, please contact webmaster with your IP at webmaster@example.com xUPM-eF=  
</body> B}gi /  
</html> Vf*!m~]Vqi  
如果启用了SSI,可以在403中显示被封的客户端ip,如下:  "=H7p3  
F$ x@ ]  
Your IP Address is <!--#echo var="REMOTE_ADDR" --> blocked. 6!/e_a  
保存error403文件,然后打开nginx的配置文件vi nginx.conf,在server配置节内添加下面内容 $ # @G!  
/]T#@>('  
# redirect server error pages to the static page A7 .C  
error_page   403  /error403.html; )dG7 $,g  
location = /error403.html { \^?BC;s^C  
         root   html; D*`|MzlQ  
} a |32Pn  
然后保存配置文件,通过nginx -t命令测试配置文件是否正确,若正确通过nginx -s reload载入配置。
级别: 新人
发帖
2
云币
9
只看该作者 板凳  发表于: 2017-09-13
Renginx 屏蔽IP不生效
谢谢,
发表主题 回复主题
« 返回列表上一主题下一主题

限100 字节
如果您提交过一次失败了,可以用”恢复数据”来恢复帖子内容
 
验证问题: 阿里云官网域名是什么? 正确答案:www.aliyun.com
上一个 下一个