대가는 결과를 만든다

nginx rewrite 설정 및 rewrite debug 관련 기록 본문

개발/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에 써진다.

 

참고 : https://ohgyun.com/481

Comments