nginx ssl 설정


왜?

caly 서버는 nginx를 proxy서버로 두고있습니다.

proxy서버는 static 캐싱,로드밸런싱 등의 다양한 역할로 사용됩니다.

이번 포스트에선 caly에서는 ssl 설정에 대해 간단히 알아봅니다.

무얼 할까요

먼저 ssl 인증서를 구입합니다.

구입경로는 가비아, 큐트러스 등 이 있으며,

다양한 가격과 다양한 옵션 등으로 이루어져있습니다.

본인이 맞는 환경에 알맞은 인증서를 구입합니다. (보상액, 단일/다수 도메인 등으로 가격차이가 남)

기본적으로 발급을 받게되면 crt, key 파일 그리고 개인키 비밀번호 세가지를 알게됩니다.


nginx 설치하기

nginx를 설치합니다.

 sudo apt-get install nginx-full


nginx config 세팅하기

nginx의 기본 설정은 어떻게 작동할지에대한 이야기를 명시해 줍니다.

/etc/nginx 로 들어가게되면 sites_enabled와 site-available 이있습니다.

sites_enabled 은 활성화된 사이트의 설정파일 위치를 의미하고 site-avaiable 은 비활성화된 사이트들의 설정파일 위치를 의미합니다.

특별히 분리하여 작업할것이 아니라면 두곳다 같은 파일을 지정해둡니다.

기존에 default 문서를 제거합니다


sudo rm /etc/nginx/sites-available/default

sudo rm /etc/nginx/sites-enabled/default

그리고 sites_available에서 텍스트파일(ex.nginx-test) 하나를 아래와같이 만듭니다.

ssl이 구동가동되도록 ..

server{
        listen                  443;
        server_name             caly.io;
        ssl                     on;
        ssl_certificate         {.crt 파일의 위치};
        ssl_certificate_key     {.key 파일의 위치};

        ssl_protocols           TLSv1 TLSv1.1 TLSv1.2;

        location / {
                proxy_pass {프록시 주소};
        }
        location /static {
                alias {static 폴더 디렉토리};
                proxy_pass {프록시 주소};
        }

}

crt파일위치 key파일 위치 및 간략한 설정만 해줍니다.

그리고 위에 말한 두문서를 링크로 연결해둡니다.

sudo ln-s /etc/nginx/sites-available/nginx-test /etc/nginx/sites-enabled


nginx restart

nginx를 재실행하고 s가 적용됬는지 확인하면 됩니다.

sudo service nginx restart


마치며…

nginx를 통한 ssl 설정을 알아보았다.

실제 nginx의 강력한 기능들을 사용하려면 보다 공부가 필요하다.