차이
문서의 선택한 두 판 사이의 차이를 보여줍니다.
양쪽 이전 판이전 판다음 판 | 이전 판 | ||
tech:letsencrypt [2021/11/02 23:51] – V_L | tech:letsencrypt [2022/11/22 15:25] (현재) – [갱신] V_L | ||
---|---|---|---|
줄 1: | 줄 1: | ||
{{tag> | {{tag> | ||
====== Let's encrypt ====== | ====== Let's encrypt ====== | ||
- | |||
무료 [[SSL]] 서버인증서를 제공하는 https:// | 무료 [[SSL]] 서버인증서를 제공하는 https:// | ||
{{https:// | {{https:// | ||
- | |||
=====등록===== | =====등록===== | ||
기존의 웹서버 설정을 변경하지 않는 '' | 기존의 웹서버 설정을 변경하지 않는 '' | ||
- | https:// | + | https:// |
- | '' | + | '' |
sudo apt-get update | sudo apt-get update | ||
줄 21: | 줄 19: | ||
인증하는 동안 80 포트를 사용하기 때문에 잠시 | 인증하는 동안 80 포트를 사용하기 때문에 잠시 | ||
- | [[nginx]] 웹서버를 | + | [[nginx]] 웹서버를 |
sudo service nginx stop | sudo service nginx stop | ||
줄 30: | 줄 28: | ||
2번 선택 (standalone) | 2번 선택 (standalone) | ||
- | |||
< | < | ||
줄 70: | 줄 67: | ||
sudo certbot certificates | sudo certbot certificates | ||
- | |||
- | |||
Domains: vaslor.net | Domains: vaslor.net | ||
줄 84: | 줄 79: | ||
3개월 마다 갱신을 해줘야 계속 작동된다. | 3개월 마다 갱신을 해줘야 계속 작동된다. | ||
- | standalone 상태에서는 | + | 자동으로 |
+ | certbot은 매일 2회 갱신을 시도하는데, | ||
+ | 로그가 지저분하긴 하지만 그냥 둬도 된다. | ||
+ | |||
+ | ''/ | ||
+ | |||
+ | 하루 두번은 불필요하다고 생각되면, | ||
+ | |||
+ | 매월 1일로 변경 | ||
+ | 0 0 1 * * root test -x / | ||
+ | |||
+ | <del>standalone 상태에서는 | ||
갱신 시 80포트를 사용하므로 웹서버를 잠시 정지시키고 해야한다. | 갱신 시 80포트를 사용하므로 웹서버를 잠시 정지시키고 해야한다. | ||
sudo certbot renew --pre-hook " | sudo certbot renew --pre-hook " | ||
줄 90: | 줄 96: | ||
[[crontab]]을 이용해서 60일마다 자동으로 해주면 좋다. | [[crontab]]을 이용해서 60일마다 자동으로 해주면 좋다. | ||
- | |||
# | # | ||
- | 33 3 3 */2 * certbot renew --pre-hook " | + | 33 3 3 */2 * certbot renew --pre-hook " |
서브도메인이 제거된 경우 [[https:// | 서브도메인이 제거된 경우 [[https:// | ||
줄 114: | 줄 119: | ||
} | } | ||
- | # SSL | + | |
- | ssl_certificate / | + | ssl_certificate / |
- | ssl_certificate_key / | + | ssl_certificate_key / |
- | ssl_protocols TLSv1 TLSv1.1 TLSv1.2 TLSv1.3; | + | ssl_protocols TLSv1 TLSv1.1 TLSv1.2 TLSv1.3; |
# Improve HTTPS performance with session resumption | # Improve HTTPS performance with session resumption | ||
줄 127: | 줄 132: | ||
ssl_ciphers ' | ssl_ciphers ' | ||
- | include common.conf; | + | |
} | } | ||
+ | </ | ||
+ | =====추가하기===== | ||
+ | 서브도메인을 추가하기 | ||
+ | |||
+ | sudo certbot | ||
+ | |||
+ | 원하는 도메인의 번호를 입력한다. | ||
+ | |||
+ | < | ||
+ | Plugins selected: Authenticator nginx, Installer nginx | ||
+ | |||
+ | Which names would you like to activate HTTPS for? | ||
+ | - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - | ||
+ | 6: openwiki.kr | ||
+ | 7: vaslor.net | ||
+ | 8: bb.vaslor.net | ||
+ | 9: map.vaslor.net | ||
+ | 10: monsterid.vaslor.net | ||
+ | 11: plex.vaslor.net | ||
+ | 12: tv.vaslor.net | ||
+ | - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - | ||
+ | Select the appropriate numbers separated by commas and/or spaces, or leave input | ||
+ | blank to select all options shown (Enter ' | ||
</ | </ | ||
+ | |||
+ | 자동 redirect를 할 것이냐고 물어본다. 1 혹은 2 입력하면 됨. | ||
=====서버이전하기===== | =====서버이전하기===== | ||
줄 144: | 줄 174: | ||
sudo chown -R $USER:$USER ~/ | sudo chown -R $USER:$USER ~/ | ||
- | + | 이제 [[tech: | |
- | 이제 [[tech: | + | |
# 대상 서버 | # 대상 서버 | ||
줄 154: | 줄 183: | ||
etc 폴더로 옮기고, root 권한을 먹여줌. | etc 폴더로 옮기고, root 권한을 먹여줌. | ||
- | 자세한 것은 | + | 더 자세한 것은 |
[[https:// | [[https:// | ||
- | |||
=====에러===== | =====에러===== | ||
줄 162: | 줄 190: | ||
>sudo apt install python3-certbot-nginx | >sudo apt install python3-certbot-nginx | ||
+ | |||
+ | =====D3 문제===== | ||
+ | |||
+ | Let’s Encrypt가 사용하는 DST Root CA X3 루트인증서는 2021년 9월에 만료. | ||
+ | |||
+ | Android 7.1 이전 버전은 Let’s Encrypt의 인증서가 설치된 웹 사이트에 접속하기 위해서는 ISRG Root X1루트인증서가 등록되어 있는 Firefox 브라우저로는 접속 가능 ( Firefox 브라우저는 운영체제의 루트인증서 목록에 의존하지 않고 자체 루트인증서 목록을 사용 ) | ||
+ | |||
+ | 내 컴퓨타가 해결되었는 지 확인해 볼 수 있는 사이트 | ||
+ | |||
+ | > https:// | ||
+ | |||
+ | > [[DisableRootAutoUpdate]] | ||
+ | |||