728x90
반응형
Let's encrypt를 이용하여 nginx에 무료로 인증서 설치하는 방법
1. certbot 설치
sudo apt install certbot
sudo apt install python3-certbot-nginx
2. 인증서 설치
sudo certbot --nginx -d <domain1> -d <domain2> ...
도메인이 하나라면 하나만 쓰면 된다.
근데 www.my-domain.kr, my-domain.kr 이렇게 두 개 등록하는게 편하다
혹시나 아래와 같은 에러 메시지가 발생한다면, "sudo apt install python3-certbot-nginx" 를 실행했는지 확인할 것.
Saving debug log to /var/log/letsencrypt/letsencrypt.log
The requested nginx plugin does not appear to be installed
또한 혹시나 아래와 같은 에러 메시지가 발생한다면..
To fix these errors, please make sure that your domain name was
entered correctly and the DNS A/AAAA record(s) for that domain
contain(s) the right IP address.
조금 귀찮은 작업을 해야하는데,
sudo certbot certonly -d <YOUR DNS1> -d <YOUR DNS2> --manual --preferred-challenges dns
위 명령어에서 나온 코드값을 복사하고 DNS 설정에서 레코드를 추가한다.
나는 가비아를 사용하기 때문에 아래 스크린샷은 가비아.
위에서 나온 코드 값을 DNS 설정에서 레코드 추가해준다.
"TXT, _acme-challenge, 값"
정상적으로 진행됐다면 아래의 명령어를 통해 DNS 설정이 잘 적용되었는지 확인할 수 있다.
nslookup -q=TXT _acme-challenge.<YOUR DOMAIN>
3. 확인
sudo certbot certificates
위 명령어를 통해 현재 서버에 등록된 인증서를 확인할 수 있다.
혹시 위 명령어의 결과로 아래와 같은 메시지가 나오거나 사이트에서 인증서 적용이 안 되었다면 nginx 설정파일을 수동으로 등록해주면 된다.
IMPORTANT NOTES:
- Unable to install the certificate
- Congratulations! Your certificate and chain have been saved at:
/etc/letsencrypt/live/<domain>/fullchain.pem
Your key file has been saved at:
/etc/letsencrypt/live/<domain>/privkey.pem
Your cert will expire on 2023-03-21. To obtain a new or tweaked
version of this certificate in the future, simply run certbot again
with the "certonly" option. To non-interactively renew *all* of
your certificates, run "certbot renew"
nginx 설정파일 server{} 안에 아래 내용 추가
ssl on;
ssl_certificate /etc/letsencrypt/live/<domain>/fullchain.pem;
ssl_certificate_key /etc/letsencrypt/live/<domain>/privkey.pem;
4. crontab 등록
sudo certbot renew
인증서 갱신 명령어는 위와 같다.
5. 인증서 삭제
sudo certbot delete <domain>
.
728x90
반응형
'how to' 카테고리의 다른 글
how to use Dockerfile (0) | 2023.11.03 |
---|---|
how to use pwndocker (0) | 2023.08.22 |
how to Copy the highlighted source code from visual studio to word (0) | 2023.07.23 |
how to solve "adb push" or "adb install" not working (0) | 2023.05.25 |
how to fix "Error message: crypto_alg: ARIA-CBC: not found" in openVPN (0) | 2023.04.25 |
how to solve ERROR [internal] load metadata for docker.io/libaray/~~ (0) | 2022.06.02 |
how to solve "iPA file installation failed" on jailbreaked iOS (0) | 2022.04.11 |
how to solve "waiting for debugger" on android (0) | 2022.04.06 |
how to solve "upstream prematurely closed connection" error (1) | 2022.02.12 |
how to fix pip3 error : ImportError: cannot import name 'PackageFinder' from 'pip._internal.index' (0) | 2022.01.30 |
댓글