개발/Webserver
nginx rewrite 설정 및 rewrite debug 관련 기록
yunzema
2019. 12. 20. 18:01
반응형
nginx에서 rewrite 설정을 하다가 기록용으로 남겨 놓는다.
/test/something/~~ 과 같이 요청이 들어왔을때, /something/~~ 으로 rerwrite하여 다른 test container에 요청을 전달할 상황이 생겼었다.
server 블록 안에 다음과 같이 정의해서 해결했다.
location /test {
rewrite ^/test(.*)$ $1 break;
error_log /var/log/nginx/rewrite_debug.log debug;
proxy_pass http://a-docker-container;
}
-설명
예를 들어 /test/something/new 라는 요청이 들어왔을때, "/test" 이후에 오는 uri를 $로 칭한다는 뜻이다.
후에 $1는 앞에서 $로 칭했던 그 부분을 뜻하며, "/something/new"로 rewrite 한다는 뜻이 되겠다.
그리고 그 uri를 그대로 proxy container에게 전달한다.
error_log 부분은 rewrite에 대한 디버깅을 하기 위해 추가했다. log수준을 debug로 설정해야. rewrite에 대한 로그를 볼 수 있다.
참고로 nginx log는 기본으로 /var/log/nginx에 써진다.