
proxy_pass의 URL 경로 매핑은 다음과 같은 규칙을 따릅니다.
- proxy_pass의 URL 경로 매핑은 upstream server의 URL 경로와 일치해야 합니다.
- proxy_pass의 URL 경로 매핑은 Nginx의 location 블록에 따라 달라집니다.
- proxy_pass의 URL 경로 매핑은 $request_uri, $uri, $args와 같은 변수를 사용하여 조합할 수 있습니다.
- proxy_pass의 URL 경로 매핑은 rewrite, if, set 및 map과 같은 Nginx의 디렉티브를 사용하여 조합할 수 있습니다.
예를 들어, 다음과 같은 Nginx 구성 파일이 있다고 가정해 보겠습니다.
#hostingforum.kr
bash
http {
upstream backend {
server localhost:8080;
}
server {
listen 80;
location /api {
proxy_pass http://backend;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
}
}
}
이 경우, Nginx는 /api로 시작하는 모든 요청을 upstream server로 보내고, URL 경로 매핑은 /api로 유지됩니다.
하지만, 다음과 같은 Nginx 구성 파일이 있다고 가정해 보겠습니다.
#hostingforum.kr
bash
http {
upstream backend {
server localhost:8080;
}
server {
listen 80;
location /api {
rewrite ^/api/(.*)$ /$1 break;
proxy_pass http://backend;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
}
}
}
이 경우, Nginx는 /api로 시작하는 모든 요청을 upstream server로 보내고, URL 경로 매핑은 /api를 제거한 후에 유지됩니다.
이러한 예제를 통해 proxy_pass의 URL 경로 매핑에 대한 규칙을 이해할 수 있습니다.
2025-06-03 08:57