카테고리 없음

nginx letsencrypt 인증서 설치

[czar] 2016. 12. 8. 16:46


nginx letsencrypt 설치

Let's Encrypt 인증서 발급



/home/data/letsencrypt 폴더 미리 생성해두기 - 임의의 경로로 변경 가능


vi well-known.conf 


location ~ /.well-known/acme-challenge {

        root /home/data/letsencrypt;                    // 임의의 경로로 설정

        allow all;

}



vi nginx.conf


server {

include well-known.conf;    // 위에서 생성한 well-known.conf 파일

}






./letsencrypt-auto certonly



이메일 입력


도메인입력

a.domain.com, b.domain.com, c.domain.com


IP being logged? 동의



인증관련 폴더 선택하는 부분이 나오는데 아래쪽에 설정한

/home/data/letsencrypt 폴더 선택 하면 알아서 인증해줌.



vi ssl_domain.conf


listen          443 ssl;


ssl on;

ssl_certificate         /etc/letsencrypt/live/a.domain.com/fullchain.pem;

ssl_certificate_key     /etc/letsencrypt/live/a.domain.com/privkey.pem;

ssl_trusted_certificate /etc/letsencrypt/live/a.domain.com/chain.pem;


ssl_prefer_server_ciphers   on;

ssl_protocols               TLSv1 TLSv1.1 TLSv1.2 SSLv2 SSLv3;

#ssl_ciphers                 EECDH+CHACHA20:EECDH+CHACHA20-draft:EECDH+AES128:RSA+AES128:EECDH+AES256:RSA+AES256:EECDH+3DES:RSA+3DES:!MD5;


ssl_ciphers  'ECDH !aNULL !eNULL !SSLv2 !SSLv3';        # A+


add_header Strict-Transport-Security "max-age=31536000; includeSubdomains";


ssl_stapling on;

ssl_stapling_verify on;


resolver 8.8.8.8;




위와 비슷하게 설정하면 됨.


nginx 에서 ssl 적용할 도메인 설정된 부분


vi nginx.conf

server {

include well-known.conf;        // 위에서 생성한 well-known.conf 파일

include ssl_domain.conf;        // ssl 설정  

}




letsencrypt 는 3개월에 한번씩 갱신해줘야함.


vi lets-renew.sh


/root/letsencrypt/letsencrypt-auto certonly -a webroot --agree-tos --renew-by-default --webroot-path=/home/data/letsencrypt/ -d a.domain.com -d b.domain.com -d c.domain.com

service nginx reload



crontab 에 등록

#mm hh day month week cmd


0 1 1 */2 * /root/lets-renew.sh #> dev/null 2>&1


// 2달에 한번씩~~