728x90
반응형
아래는 주어진 조건에 따라 주석과 함께 자세한 Nginx 설정 예제입니다:
http {
# 클라이언트 IP 주소를 기반으로 변수 설정
geo $client_ip {
default 0.0.0.0;
192.168.1.1 1; # 클라이언트 IP에 따라서 설정
192.168.1.2 2;
192.168.1.3 3;
192.168.1.4 4;
192.168.2.0/24 3; # 클라이언트 IP에 따라서 설정, /24는 24비트 서브넷을 의미합니다.
192.168.3.0/24 4;
# 추가적인 클라이언트 IP에 대한 규칙을 추가하세요.
}
server {
listen 80;
server_name aaa.com;
location /a/b/c/ {
if ($client_ip) {
# 클라이언트 IP별로 변수 설정
set $rewrite_uri $uri;
set $proxy_host bbb.com;
set $header_value "default";
# 클라이언트 IP에 따라 변수 값 변경
if ($client_ip = 1) {
set $rewrite_uri /x/b/z$uri;
set $proxy_host bbb.com;
set $header_value "client_1";
}
if ($client_ip = 2) {
set $rewrite_uri /x/b/z$uri;
set $proxy_host bbb.com;
set $header_value "client_2";
}
if ($client_ip = 3) {
set $rewrite_uri /x/b/z$uri;
set $proxy_host bbb.com;
set $header_value "client_3";
}
if ($client_ip = 4) {
set $rewrite_uri /x/b/z$uri;
set $proxy_host bbb.com;
set $header_value "client_4";
}
# 리다이렉트 및 프록시 설정
rewrite ^/a/b/c/(.*)$ $rewrite_uri break;
proxy_pass http://$proxy_host;
proxy_set_header Host $proxy_host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
# 클라이언트 IP에 따라 헤더 설정
add_header Custom-Header $header_value;
}
}
location / {
return 404; # 다른 경로는 404 에러를 반환하거나 원하는 대응을 추가하세요.
}
}
}
728x90
반응형
LIST
'WEB,WAS' 카테고리의 다른 글
[WEB] Nginx 에서 $1 과 $args 차이 (1) | 2024.02.06 |
---|---|
[WEB] Nginx 에서 tcp stream 설정 방법 (1) | 2024.02.01 |
[Network] redirect 와 rewrite 비교 (1) | 2024.01.30 |
[Network] HTTP 오류코드 비교 (301, 302, 308) (2) | 2024.01.29 |
[Nginx] nginx 에서 NAT IP 설정 예시 (1) | 2024.01.11 |