본문 바로가기

서버다스리기

Apache / Nginx / Lighttpd 에서 SSL 보안서버인증서 설정하기

웹서비스를 위해 가장 많이 사용하는 Apache, Nginx, Lighttpd (요즘은 많이 쓰지 않죠 ^^;;) 의 경우

각각 SSL 보안서버인증서를 어떻게 설정하는지 간략하게 적어보았습니다. 


 

1. Apache 

 

아래와 같이 설정하고 Apache 데몬을 재시작 합니다.  


NameVirtualHost *:443

 

<VirtualHost *:443>

 ServerName www.domain.com

 DocumentRoot /var/www/site1

 SSLEngine on

 SSLCertificateFile /path/to/www_domain_com.crt

 SSLCertificateKeyFile /path/to/www_domain_com.key

 SSLCertificateChainFile /path/to/rootCA.crt

</VirtualHost>

 

<VirtualHost *:443>

 ServerName www.domain2.com

 DocumentRoot /var/www/site2

 SSLEngine on

 SSLCertificateFile /path/to/www_domain2_com.crt

 SSLCertificateKeyFile /path/to/www_domain2_com.key

 SSLCertificateChainFile /path/to/rootCA.crt

</VirtualHost>


 

2. Nginx


설정파일에 아래와 같이 추가하고

server {

        listen 443 ssl;

        server_name www.domain.com;

 

        ssl_certificate     /usr/share/ssl/certs/www_domain_com_cert.pem;

        ssl_certificate_key /usr/share/ssl/private/www_domain_com_key.pem;

        ssl_protocols       TLSv1 TLSv1.1 TLSv1.2;

        ssl_ciphers         HIGH:!aNULL:!MD5;


(이하 설정)

.....................

 

}

 

단, 위 설정을 하기 전에 cert 파일에 root 파일 내용을 추가해야 합니다. 

보통 인증서 발급을 받으면 key, cert 파일과 함께 root 키 파일도 제공합니다. 

# cat  root.cer >> www_domain_com_cert.pem

 


 

3. lighttpd


※ 참고 : http://redmine.lighttpd.net/projects/1/wiki/Docs:SSL

 

vi /etc/lighttpd/lighttpd.conf


$SERVER["socket"] == ":443" {
      ssl.engine = "enable"
      ssl.pemfile = "/to/path/domain_com_key.pem"
      ssl.ca-file = "/to/path/domain_com_cert.pem"
      server.name = "www.domain.com"
      server.document-root = "/home_path/www"
      server.errorlog = "/weblog_path/ssl-domain_error_log"
      accesslog.filename = "/weblog_path/ssl-domain_error_log"
 }

 

, 아래와 같이 key, cert 파일을 하나의 파일로 만드는 작업이 필수입니다. 

cat private/www_domain_com.key certs/www_domain_com.cert > www_domain_com.cert

이렇게 private / cert 합하여 인증서 파일을 만듭니다. 




# Tip 하나 - key 파일 비밀번호 없애기

보안서버인증서를 발급받아 본 분들을 알겠지만 보통 인증서 발급시에 비밀번호를 입력하는데 

이 비밀번호가 웹서버 데몬을 재시작할 때 비밀번호를 입력해야 되기 때문에

자동화하는데도 문제가 있고 매번 입력해야 되니 귀찮을 때가 많다. 

이 비밀번호 입력을 하지 않도록 아래와 같이 key 파일을 재생성하여 저장하면 비밀번호 입력을 하지 않는다. 


openssl rsa -in 키이름.key -out 새로운키이름.key