Nginx SSL 설정

구글에서 http 프로토콜과 관련하여 보안 정책을 변경하였습니다. 구글의 크롬에서는 http는 보안에 취약하기 때문에 크롬 주소창 오른편에 안전하지 않음으로 표기하도록 변경하였습니다.

그래서 웹 사이트를 운영할 경우에는 특별한 이유가 없으면 ssl을 설치하여 https를 적용해주는 것이 좋습니다.

이번 글에서는 범용적으로 많이 사용하는 웹서버인 nginx에서 간단하게 ssl 인증서를 적용하는 방법에 대해서 알아보도록 하겠습니다.

nginx SSL 설정하기

https를 적용할 때, 보통은 http로 오는 요청과 https로 오는 요청 모두 응답할 수 있도록 설정을 합니다. 아래는 nginx를 처음 설치했을 때 예시로 있는 설정 코드입니다.

server {
  listen       443 ssl;
  server_name  localhost;

  ssl_certificate      cert.pem;
  ssl_certificate_key  cert.key;

  ssl_session_cache    shared:SSL:1m;
  ssl_session_timeout  5m;

  ssl_ciphers  HIGH:!aNULL:!MD5;
  ssl_prefer_server_ciphers  on;

  location / {
    root   html;
    index  index.html index.htm;
  }
}

이렇게 따로 ssl 설정을 할 수도 있지만, 아래와 같이 http, https 동시에 설정을 해주 것이 보기에도 편하고, 유지보수하기에도 편합니다.

server {
  listen       80;
  listen       443 ssl;
  server_name  www.example.com;

  ssl_certificate      {path}/cert.pem;
  ssl_certificate_key  {path}/cert.key;

  ssl_session_cache    shared:SSL:1m;
  ssl_session_timeout  5m;

  ssl_ciphers  HIGH:!aNULL:!MD5;
  ssl_prefer_server_ciphers  on;

  location / {
    root   html;
    index  index.html index.htm;
  }
  # some other configurations...
}

이 설정에서 중요한 속성은 ssl_certificatessl_certificate_key를 정확하게 설정 해주어야 합니다.

설정 관련 링크

맺음

이렇게 nginx에서 SSL 설정하는 방법 대해서 정리해 보았습니다. 이상한 점이나 궁금한 점이 있으시면 댓글 부탁드리겠습니다.

감사합니다.

Buy me a coffee
글이 도움이 되셨다면, 커피 한 잔만 사주세요!
Comments
Copied to clipboard