Yang 코딩 공부

proxy_pass Url 슬래시 여부에 따른 결과 정리 본문

Nginx

proxy_pass Url 슬래시 여부에 따른 결과 정리

코딩하는 Yang 2023. 8. 28. 17:51

경우의 수

모두 ~/foo/test/path 를 입력한다고 가정하자

1.location url / 미포함 && proxy_pass / 미포함

location ~/foo { 
 proxy_pass http://localhost:8080;
}

위의 경우 프록시 패스를 통해 서버로 전달되는 경로는 -> http://localhost:8080/foo/test/path

2.location url / 미포함 && proxy_pass / 포함

location ~/foo { 
  proxy_pass http://localhost:8080/;
}

위의 경우 프록시 패스를 통해 서버로 전달되는 경로는 -> http://localhost:8080/test/path

3.location url / 포함 && proxy_pass / 포함

location ~/foo/ { 
  proxy_pass http://localhost:8080/;
}

위의 경우 프록시 패스를 통해 서버로 전달되는 경로 -> http://localhost:8080/test/path

4.location url / 포함 && proxy_pass URL 포함

location ~/foo/ { 
  proxy_pass http://localhost:8080/foo;
}

위의 경우 프록시 패스를 통해 서버로 전달되는 경로는 -> http://localhost:8080/foo/test/path

5.location url / 미포함 && proxy_pass URL 포함 (URI와 매칭되지 않는 패턴 일 경우)

location ~/foo { 
  proxy_pass http://localhost:8080/xxx;
}

위의 경우 프록시 패스를 통해 서버로 전달되는 경로는 -> http://localhost:8080/xxx/test/path

 

 

문제 : nestjs를 통해 두개의 port로 동시에 서버를 배포할 때 nginx를 통해 접근 url을 결정하려 했으나 원하는 방식의 접근이 되지 않음

 

해결 방안 : 

proxy_pass uri의 마지막에 /를 추가하여 필요없는 경로 부분을 삭제하였다.

간단한 작업이였는데 정확한 원리랑 서치할 키워드를 몰라 오래 찾은 것 같다 외우기 위해 기록