需求
因项目变更,外网官网跳转到维护界面,指定ip地址能够正常访问
第一种情形:
1 2 3 4 5 6 7 8 9 10 11 12 13 14
| #可以作为nginx的停服更新使用,仅允许172.16.2.80访问,其他IP都rewrite到停服页面
set $flag 0;
if ( $remote_addr ~* ^172\.16\.2\.80 ) { set $flag "${flag}1"; }
if ($flag != "01") { return 301 https://172.16.2.20/weihu.html; }
# 如前段非nginx,可使用http_x_forwarded_for
|
第二种情形
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
| #访问某个php应用的时候我只想让内部的某个IP访问,其他的IP都转到另一个PHP上 访问test.php,且IP不等172.16.2.80的跳转到weihu.php: set $test ''; if ( $request_uri ~* /img/test.php ) { set $test P; }
if ( $http_x_forwarded_for !~* ^172\.16\.2\.80.* ) { set $test "${test}C"; }
#当条件符合 访问test.php并且 ip不是172.16.2.80的转发到weihu.php if ( $test = PC ) { rewrite ^(.*)$ /img/weihu.php permanent; }
|