Nginx에 startssl.com 인증서 설정 방법

Posted at 2013. 5. 9. 14:26 | Posted in 서버/Nginx

startssl.com 에서 인증서를 받는 방법은 인터넷상에 꽤 많이 나와 있기 때문에 생략합니다.

startssl.com 에서 인증서를 생성한 후에 그대로 nginx에 적용하면 에러가 발생합니다.

따라서 약간의 과정을 거쳐야 하는데

우선 startssl.com 에서 ssl.key 와 ssl.crt 파일을 받았다고 가정하겠습니다. (파일명은 맘대로 설정하시면 됩니다)


참고로 제 환경은CentOS, Nginx, MariaDB 입니다.


1. 만약에 /etc/nginx/conf 디렉토리가 없으면 하나 생성합니다.


2. startssl.com 에서 받은 ssl.key 파일을 가지고 아래와 같이 설정해줍니다.

openssl rsa -in ssl.key -out /etc/nginx/conf/ssl.key

chmod 600 /etc/nginx/conf/ssl.key


3. Root CA와 Class 1 Intermediate Server CA certificates를 받습니다.

wget http://www.startssl.com/certs/ca.pem

wget http://www.startssl.com/certs/sub.class1.server.ca.pem


4. 이제 다운로드 받은 파일과 ssl.crt 파일을 합쳐서 새로운 파일을 생성합니다.

cat ssl.crt sub.class1.server.ca.pem ca.pem > /etc/nginx/conf/ssl-unified.crt


이제 필요한 파일 생성이 끝났습니다.

최종적으로 /etc/nginx/conf/에는 ssl.key와 ssl-unified.crt 파일이 있게 됩니다.


이제 /etc/nginx/nginx.conf 파일을 열어서 새로운 key 와 인증서 파일을 사용할 수 있도록 설정을 합니다.


  server {

        listen 443;

        server_name ur.domain.name;


        ssl on;

        ssl_certificate /etc/nginx/conf/ssl-unified.crt;

        ssl_certificate_key /etc/nginx/conf/ssl.key;

        location / {

            root /var/www/html;

        }

    }


이제 nginx 를 다시 시작하고 ssl 이 제대로 동작하는지 확인하시면 됩니다.


혹시나 재시작 과정에서 end of line 어쩌고 하는 에러가 발생하면 위에서 만든 ssl-unified.crt 파일을 열어서 

-----END CERTIFICATE----------BEGIN CERTIFICATE-----

위와같이 된 곳이 있으면

-----END CERTIFICATE-----

-----BEGIN CERTIFICATE------


이렇게 변경해주고 저장후에 다시 nginx 를 시작하면 됩니다.

'서버 > Nginx' 카테고리의 다른 글

Nginx URL 리다이렉트 방법  (0) 2013.07.11

//