http://nginx.org/en/docs/http/ngx_http_geo_module.html
nginx conf에서 아래 형태와 같이 각각의 아이피 별로 변수값을 지정 할 수 있다.
Example Configuration
geo $geo {
default 0;
127.0.0.1 2;
192.168.1.0/24 1;
10.1.0.0/16 1;
::1 2;
2001:0db8::/32 1;
}
그래서 해당 변수를 이용해서 아래와 같이 특정 아이피 경우 Rewrite 시킨다던지 location 처리를 다르게 등 여러 방안으로 이용 할 수 있다. 점검시에 내부 아이피만 처리하고 외부 아이피는 notice페이지로 리다이렉트 시키다던지등 상황에 따라서 잘 활용하면 좋을 듯하다.
if ( $request_uri ~ /test_page ){ set $geo 1; } if ( $geo = 0 ){ rewrite ^ /test_page?; } if ($geo = 2) { proxy_pass http://ttt; break; }