码迷,mamicode.com
首页 > 其他好文 > 详细

nginx访问控制 if多条件判断

时间:2014-12-01 19:32:04      阅读:394      评论:0      收藏:0      [点我收藏+]

标签:wordpress   安全性   nignx多条件判断   url过滤   

网站才用的是wordpress,之前被黑了,login.php被暴力破解,为了增加安全性,现在经理让我做一个访问控制,只能有一个ip能访问login.php。如果单纯跑一个apache问题很容易解决加两行rewrite就能搞定,现在的问题是服务器上跑了好几个web,nginx做的分发;nginx  rewrite多条件判断找了半天也没有找到,最后终于找到了,是利用set添加变量,再利用if语句。


目的:只允许一个IP访问/login.php或是/wp-admin;

        location / {


        set $my_ip ‘‘;

        if ( $remote_addr !~* ^1.2.3.4$ ){set $my_ip p;}

        set $my_url ‘‘;

        if ( $request_uri ~* ^(.*)/wp-login\.php$ ){set $my_url "${my_ip}l";}

        set $my_url2 ‘‘;

        if ( $request_uri ~* ^(.*)/wp-admin$ ){set $my_url2 "${my_ip}c";}

        if ( $my_url = pl ){

                rewrite ^(.*)$ default;

        }

        if ( $my_url2 = pc ){

                rewrite ^(.*)$ default break;

        }


            proxy_redirect off;

            proxy_set_header Host $host;

            proxy_set_header X-Real-IP $remote_addr;

            proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;

            proxy_pass http://192.168.1.98:800;


        }

这样就能达到目的,有没有其他方法我也在考虑中,这个方法有什么问题也请大家不吝赐教。

nginx访问控制 if多条件判断

标签:wordpress   安全性   nignx多条件判断   url过滤   

原文地址:http://7964599.blog.51cto.com/7954599/1585066

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