apache部分链接指定ip访问、禁止访问某些链接

    xiaoxiao2022-07-13  150

    某些业务情景下,禁止特定链接对外开放,或者只允许指定ip访问特定链接。负载均衡工具为apache时,可以使用Rewrite(请求重写)功能进行请求判断,如果不符合要求,就把请求重写。 业务场景1:后台链接不对公网ip开放 apache版本:2.2 1.修改conf\httpd.conf文件,去掉下面内容前的#号,目的是打开重写标签

    LoadModule rewrite_module modules/mod_rewrite.so

    2.在conf\httpd.conf文件标签中加入

    RewriteEngine on RewriteCond %{REQUEST_URI} ^(/superUser) RewriteRule ^(.*)$ www.baidu.com [L,R=302]

    第一行表示打开重写开关 第二行为正则表达式的内容,RewriteCond标签相当于if,REQUEST_URI是请求链接,^(/superUser)表示包含"/superUser", 第三行意思是满足上面的要求,就发生链接重写,重写后的地址为"www.baidu.com" 业务场景2:某个链接只对某些ip开放 1.和场景1相同,开启重写开关 2.在conf\httpd.conf文件标签中加入

    RewriteEngine on RewriteCond %{REQUEST_URI} ^(/superUser) RewriteCond %{REMOTE_ADDR} !^(172.22.23.1) [NC,OR] RewriteCond %{REMOTE_ADDR} !^(172.22.23.2) [NC] RewriteRule ^(.*)$ / www.baidu.com [L,R=302]

    此配置的意思:在访问链接包含"/superUser"时,假如访问的ip不等于"172.22.23.1"或者不等于"172.22.23.2",拒绝请求,跳转到百度。[NC,OR] nc代表不区分大小写,or代表或者。 其他场景下可以对RewriteEngine的正则表达进行相应调整 参考文章:apache实现手机端访问跳到wap站点

    最新回复(0)