시나몬 브레드
개발과 관련된 이야기를 하는 곳입니다. 쉽게 찾을 수 있는 소개 형식의 글 보다는 실무를 통해 얻어진 깊이있는 정보와 전체 흐름을 이해할 수 있는 지식을 다루려고 노력중입니다.
nginx에서 http 요청을 https (SSL) 요청으로 변환하기


Nginx에서 http로 들어오는 모든 요청을 https로 바꾸는 방법이다.


rewrite 라는 명령어를 사용한다.

참고로 rewrite는 리다이렉트와 같은 의미이고 proxy_pass 는 포워드의 개념이다.


서버로 들어오는 모든 요청을 https로 변환

server {

      listen      80;

      server_name example.com www.example.com;

      ## redirect http to https ##

      rewrite        ^ https://$server_name$request_uri? permanent;

}


rewrite를 적용할 요청 path를 정규식 표현으로 지정후 바뀔경로 패턴을 정의 해준다. 

정규식에서 ^는 문자열의 시작을 의미한다.  정규식 간단한 규칙 보기 --> https://developer.mozilla.org/ko/docs/Web/JavaScript/Guide/정규식

server_name 변수로 리다이렉트 되기 때문에 반드시 server_name을 사용할 도메인으로 지정해야 한다. 



특정 경로로 들어오는 요청을 https로 변환

server {

      listen      80;

      server_name example.com www.example.com;


     location /login {

           ## redirect http to https ##

          rewrite        ^ https://$server_name$request_uri? permanent;

     }

}

위와 같이 location [경로] {} 사이에서 rewrite를 하면 해당 경로 이하로 들어오는 요청에 대해서만 적용이 가능하다.





  Comments,   0  Trackbacks
댓글 쓰기