CentOS에 Let Encrypt 를 이용하여 nginx 에 무료 SSL 을 적용하자.
필요 준비 사항.
Python
EPEL
공식 사이트인 (https://letsencrypt.readthedocs.org/en/latest/using.html#letsencrypt-auto) 가보니 CentOS의 경우에는 EPEL 을 먼저 인스톨 하라고 함.
> yum install epel-release
설치
소스 다운 로드
> git clone https://github.com/letsencrypt/letsencrypt
의존성 설치
>./letsencrypt-auto —help
설치
>./letsencrypt-auto certonly --rsa-key-size 4096 --email example@example.com -d $DOMAIN —debug
인증서 경로
설치된 경로가 /etc/letsencrypt/live/$DOMAIN/ 되어 있음
dhparam 만들어 주어야 함.
> openssl dhparam -out dhparam.pem 2048
만들어진 dhparam.pem 파일을 인증서가 설치된 경로인 /etc/letsencrypt/live/$DOMAIN/ 으로 옮겨준다.
nginx ssl 설정
페이지 참조 : https://mozilla.github.io/server-side-tls/ssl-config-generator/
======== 샘플 설정 ========
server { listen 80; server_name $DOMAIN; return 301 https://$host$request_uri; } server { listen 443 ssl; server_name $DOMAIN; ssl_certificate /etc/letsencrypt/live/$DOMAIN/fullchain.pem; ssl_certificate_key /etc/letsencrypt/live/$DOMAIN/privkey.pem; ssl_session_timeout 1d; ssl_session_cache shared:SSL:50m; ssl_session_tickets off; ssl_dhparam /etc/letsencrypt/live/$DOMAIN/dhparam.pem; ssl_protocols TLSv1 TLSv1.1 TLSv1.2; ssl_ciphers 'ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-AES256-GCM-SHA384:DHE-RSA-AES128-GCM-SHA256:DHE-DSS-AES128-GCM-SHA256:kEDH+AESGCM:ECDHE-RSA-AES128-SHA256:ECDHE-ECDSA-AES128-SHA256:ECDHE-RSA-AES128-SHA:ECDHE-ECDSA-AES128-SHA:ECDHE-RSA-AES256-SHA384:ECDHE-ECDSA-AES256-SHA384:ECDHE-RSA-AES256-SHA:ECDHE-ECDSA-AES256-SHA:DHE-RSA-AES128-SHA256:DHE-RSA-AES128-SHA:DHE-DSS-AES128-SHA256:DHE-RSA-AES256-SHA256:DHE-DSS-AES256-SHA:DHE-RSA-AES256-SHA:ECDHE-RSA-DES-CBC3-SHA:ECDHE-ECDSA-DES-CBC3-SHA:AES128-GCM-SHA256:AES256-GCM-SHA384:AES128-SHA256:AES256-SHA256:AES128-SHA:AES256-SHA:AES:CAMELLIA:DES-CBC3-SHA:!aNULL:!eNULL:!EXPORT:!DES:!RC4:!MD5:!PSK:!aECDH:!EDH-DSS-DES-CBC3-SHA:!EDH-RSA-DES-CBC3-SHA:!KRB5-DES-CBC3-SHA'; ssl_prefer_server_ciphers on; add_header Strict-Transport-Security max-age=15768000; ssl_stapling on; ssl_stapling_verify on; ssl_trusted_certificate /etc/letsencrypt/live/$DOMAIN/chain.pem; .... }
==============
nginx 를 다시 시작하면 끝~!!
3개월까지 밖에 인증 효력이 없기 때문에 3개월에 한 번씩 재인증 해줘야 한다.
재인증
>./letsencrypt-auto certonly --renew-by-default --rsa-key-size 4096 --email example@example.com -d $DOMAIN --debug
크론탭으로 하길 권장한다.
참고 사이트
https://blog.outsider.ne.kr/1178
'OS > 리눅스' 카테고리의 다른 글
CentOS 실행&중지 스크립트 (2) | 2016.10.11 |
---|---|
[Linux] background run (12) | 2016.09.20 |
Linux 기본적인 명령어. 파일 찾기, 문자열 찾기 (0) | 2015.11.10 |
리눅스 tar/tar.gz/zip 사용법 (0) | 2015.11.04 |
IP가 나가는 경로를 알고 싶다면 traceroute (1) | 2015.11.04 |
댓글