add-apt-repository ppa : certbot / certbot
apt-get 업데이트
apt-get install python-certbot-nginx
certbot certonly –nginx -d XN–4K0BM4XJ7J.com, www.XN–4K0BM4XJ7J.com
1431 ls -al / etc / letsencrypt / live /
1432 cd / etc / nginx / sites-available /
1433 vi bong9.kr
www .XN – 4K0BM4XJ7J.com
sudo service nginx stop
sudo certbot certonly –cert-name tuwlab-cert –standalone -d tuwlab.com,www.tuwlab.com
sudo service nginx start
certbot certonly –cert-name XN–4K0BM4XJ7J.com -d XN–4K0BM4XJ7J.com,www.XN–4K0BM4XJ7J.com
certbot delete –cert-name
listen 80;
#listen [::]:80;
server_name www.bong9.kr bong9.kr;
if ( $host ~ ^www.(.+)$ ) {
set $without_www $1;
#rewrite ^(.) $scheme://$without_www$uri permanent;
rewrite ^(.) https://$without_www$uri permanent;
}
if ($scheme = http) {
#if ( $https = on ) {
rewrite ^(.) https://$host$1 permanent;
#rewrite ^(.) https://$server_name$1 permanent;
}
#location /wd {
# rewrite ^ https://$host$request_uri?permanent;
#}
# location / {
# return 301 http://$host$request_uri; ### http://www.9networks.kr로 리다이렉팅
# try_files $uri $uri/ =404;
# }
#
# SSL configuration
#
listen 443 ssl;
listen [::]:443 ssl default_server;
#server_name bong9.kr www.bong9.kr;
ssl on;
ssl_certificate /etc/letsencrypt/live/bong9.kr/fullchain.pem;
ssl_certificate_key /etc/letsencrypt/live/bong9.kr/privkey.pem;
ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
ssl_ciphers HIGH:!aNULL:!MD5;
Certbot으로 발급받은 인증서 목록은 다음 명령으로 확인할 수 있습니다. certbot certificates 잠시 기다리면 다음과 같은 내용이 나타날 것입니다. 인증서 이름과 대상 도메인, 만료일, 그리고 가장 중요한 정보인 저장된 경로를 확인할 수 있습니다. ————————————————————— Found the following certs: Certificate Name: yourdomain.com Domains: yourdomain.com www.yourdomain.com Expiry Date: YYYY-MM-DD mm:ii:ss+00:00 (VALID: NN days) Certificate Path: /path/to/fullchain.pem Private Key Path: /path/to/privkey.pem —————————————————————
참고로, 인증서의 실제 파일은 다른 위치에 있고, 위 경로는 심볼릭 링크 파일입니다. 인증서를 갱신하더라도 링크 파일의 경로는 바뀌지 않으므로 매번 웹 서버 설정파일을 수정해주지 않아도 되므로 편리합니다. Nginx 웹 서버에 인증서 설치하기 Nginx 설정 파일의 server {…} 블록에 다음 구문을 추가해 주도록 합니다. Nginx 설정파일의 server {…} 블록 ssl on; ssl_certificate {Certificate Path}; ssl_certificate_key {Private Key Path}; Certbot을 설치할 때 별다른 설정을 하지 않았다면, 경로는 다음과 같을 것입니다. {인증서 이름}은 위의 인증서 목록 출력에서 Certificate Name에 해당합니다.
•Certificate Path: /etc/letsencrypt/live/{인증서 이름}/fullchain.pem
•Private Key Path: /etc/letsencrypt/live/{인증서 이름}/privkey.pem Nginx에서 SSL이 올바르게 동작하도록 하려면 위 세 줄 외에 프로토콜이나 Cipher Suite 옵션도 함께 설정해 줘야 합니다. 더 자세한 설명은 이 글을 참조해 주세요. Apache 웹 서버에 인증서 설치하기 Apache에 TLS 인증서를 설치하는 방법은 이 글을 참조해 주세요.
■인증서 갱신하기 인증서의 유통기한(?)이 다가오면 인증서를 갱신(Renew)해야 합니다. 사이트에 찾아오는 방문객에게 보안경고창을 보여주기 싫다면 말이죠.ㅎㅎ Certbot은 그간 발급된 인증서 목록과 사용했던 도메인 인증 방식을 별도 데이터로 보관하고 있으므로, 단순히 다음 명령으로 인증서를 갱신할 수 있습니다. 단, 유효기간이 20일 미만으로 남은 인증서에 대해서만 갱신이 이루어집니다. 또한, Standalone 방식으로 발급받은 인증서를 갱신하려면 역시 웹 서버를 먼저 Shutdown해야 합니다. certbot renew 인증서의 잔여 유효기간에 관계 없이 갱신을 하려면 다음과 같이 –force-renewal 옵션을 추가해주면 됩니다. certbot renew –force-renewal Crontab에 등록해서 자동 갱신을 수행하려는 목적으로 스크립트를 작성하는 경우, 임의로 업데이트를 수행하지 않도록 다음과 같이 –no-self-upgrade 옵션을 추가해 줘야 합니다. 이 옵션이 없으면 Linux Repository(apt-get, yum 등)로부터 업데이트 패키지를 설치하려고 시도하는데, 이 때 사용자 입력을 받을 수 없으므로 스크립트 실행이 중단됩니다.
certbot renew –no-self-upgrade
■인증서에 포함된 도메인 변경하기 다음 명령으로 인증서가 커버하는 도메인을 첨삭할 수 있습니다. certbot certonly –cert-name {인증서 이름} -d {도메인1},{도메인2},….{도메인n}
■인증서 삭제하기 인증서가 더 이상 필요 없어서 삭제하려는 경우, 다음 명령으로 삭제할 수 있습니다. certbot delete –cert-name {인증서 이름} ※ 주의: 보안 사고 등으로 인해 비밀키가 유출되어 인증서를 교체하려는 경우, 기존 인증서를 삭제하기 전에 Revoke를 먼저 수행해 줘야 안전합니다. Revoke 방법은 공식 매뉴얼의 ‘Revoking certificates’ 항목을 참조해 주세요.
■인증서 갱신하기 인증서의 유통기한(?)이 다가오면 인증서를 갱신(Renew)해야 합니다. 사이트에 찾아오는 방문객에게 보안경고창을 보여주기 싫다면 말이죠.ㅎㅎ Certbot은 그간 발급된 인증서 목록과 사용했던 도메인 인증 방식을 별도 데이터로 보관하고 있으므로, 단순히 다음 명령으로 인증서를 갱신할 수 있습니다. 단, 유효기간이 20일 미만으로 남은 인증서에 대해서만 갱신이 이루어집니다. 또한, Standalone 방식으로 발급받은 인증서를 갱신하려면 역시 웹 서버를 먼저 Shutdown해야 합니다. certbot renew 인증서의 잔여 유효기간에 관계 없이 갱신을 하려면 다음과 같이 –force-renewal 옵션을 추가해주면 됩니다. certbot renew –force-renewal Crontab에 등록해서 자동 갱신을 수행하려는 목적으로 스크립트를 작성하는 경우, 임의로 업데이트를 수행하지 않도록 다음과 같이 –no-self-upgrade 옵션을 추가해 줘야 합니다. 이 옵션이 없으면 Linux Repository(apt-get, yum 등)로부터 업데이트 패키지를 설치하려고 시도하는데, 이 때 사용자 입력을 받을 수 없으므로 스크립트 실행이 중단됩니다. certbot renew –no-self-upgrade
■인증서에 포함된 도메인 변경하기 다음 명령으로 인증서가 커버하는 도메인을 첨삭할 수 있습니다. certbot certonly –cert-name {인증서 이름} -d {도메인1},{도메인2},….{도메인n}
■인증서 삭제하기 인증서가 더 이상 필요 없어서 삭제하려는 경우, 다음 명령으로 삭제할 수 있습니다. certbot delete –cert-name {인증서 이름} ※ 주의: 보안 사고 등으로 인해 비밀키가 유출되어 인증서를 교체하려는 경우, 기존 인증서를 삭제하기 전에 Revoke를 먼저 수행해 줘야 안전합니다. Revoke 방법은 공식 매뉴얼의 ‘Revoking certificates’ 항목을 참조해 주세요.
