무료 SSL 인증서

웹사이트에서 HTTPS를 활성화하려면 인증 기관(CA)에서 인증서를 받아야 합니다. Let's Encrypt는 CA이며 무료는 항상 좋습니다!

C05348A3-9AB8-42C9-A6E0-81DB3AC59FEB
           

Let's Encrypt 는 비영리 ISRG(Internet Security Research Group) 에서 제공하는 자동화된 무료 공개 인증 기관입니다.

가격 외에도 이 솔루션의 매력적인 부분 중 하나는 인증서를 얻으려는 DNS 도메인의 소유권을 증명할 필요가 없다는 것입니다. 해당 호스트로 확인되는 DNS 이름이 이미 있는 경우 해당 도메인 및 호스트 이름에 대한 SSL 인증서를 얻을 수 있습니다. 자체 CA를 사용해야 하는 일부 조직에서는 실제로 문제가 될 수 있습니다.

Certbot 은 해당 호스트에 대한 ssh 액세스 권한 및 루트 액세스 권한이 있는 경우 Let's Encrypt를 시작하는 가장 쉬운 방법입니다. 웹 사이트의 지침에 따라 특정 OS에 설치하십시오. 방화벽/보안 그룹이 포트 80에서 들어오는 트래픽을 허용하는지 확인하고 이미 포트 80에서 실행 중인 호스트가 있는 경우 일시적으로 종료하고 다음을 실행합니다.

sudo certbot certonly --독립 실행형

Cerbot은 해당 호스트와 연결된 DNS 이름을 요청하고 포트 80에서 수신 대기하는 프로세스를 시작합니다. 해당 서비스가 인터넷에서 해당 프로세스에 도달할 수 있는 경우 SSL 인증서가 발급됩니다. 정말 쉽습니다!

☑ 빠른 팁, DNS용 Cloudflare 를 사용하는 경우 "프록시됨" 모드를 해제해야 합니다. 그렇지 않으면 Cerbot이 호스트에 도달하지 못합니다.

인증서가 있으면 웹 서버가 이해할 수 있는 형식으로 인증서를 연결해야 합니다. 이 예에서는 HAProxy 를 서버로 사용하고 < your.dns.name >을 DNS 호스트 이름으로 바꿉니다.


sudo mkdir -p /etc/haproxy/ssl/

 sudo 고양이 /etc/letsencrypt/live/your.dns.name/fullchain.pem \
 /etc/letsencrypt/live/your.dns.name/privkey.pem \
 | sudo 티 /etc/haproxy/ssl/cert.pem

Let's Encrypt 인증서는 90일 동안 유효하므로 갱신 프로세스를 처리할 준비가 되어 있어야 합니다.

이를 테스트하려면 다음을 실행할 수 있습니다.

sudo certbot 갱신 --dry-run

갱신에 성공하면 시스템의 crontab 파일에 다음 항목을 추가할 수 있습니다.

crontab -e

 43 6 * * * sudo certbot 갱신 --deploy-hook

deploy-hook 옵션을 사용하면 Cerbot이 스크립트를 실행할 수 있지만 인증서 갱신이 성공한 경우에만 가능합니다. 이 스크립트를 사용자 정의할 수 있습니다.

sudo nano /etc/letsencrypt/renewal-hooks/deploy/start.sh
#!/bin/sh
 sudo 고양이 /etc/letsencrypt/live/your.dns.name/fullchain.pem \
 /etc/letsencrypt/live/your.dns.name/privkey.pem \
 | sudo 티 /etc/haproxy/ssl/cert.pem
 sudo 서비스 haproxy 다시 시작
댓글을 게시했습니다: 0

Tagged with:
encryption