Lightsail 인스턴스에서 호스팅되는 Bitnami 스택에 표준 Let's Encrypt SSL 인증서를 갱신하려면 어떻게 해야 합니까?

4분 분량
0

Amazon Lightsail Bitnami 인스턴스에서 내 웹 사이트에 설치된 암호화 SSL 인증서가 곧 만료됩니다. 갱신하려면 어떻게 해야 합니까?

간략한 설명

Let’s Encrypt SSL 인증서는 생성 후 90일 후에 만료됩니다. Amazon Lightsail에서 호스팅되는 Bitnami 스택에 표준 Let’s Encrypt 인증서를 설치하려면 어떻게 합니까?에 제공된 다음 단계에 따라 표준 Let's Encrypt 인증서를 설치한 경우 SSL 인증서가 자동으로 갱신됩니다. 그러나 올바르게 구성되지 않은 경우 자동 갱신이 실패할 수 있습니다.

Amazon Lightsail에서 호스팅되는 Bitnami 스택에 와일드카드 Let’s Encrypt 인증서를 설치하려면 어떻게 합니까?의 다음 방법 2에 따라 와일드카드 Let's Encrypt 인증서를 설치한 경우 SSL 인증서를 수동으로 갱신해야 합니다. 방법 2는 자동 갱신을 지원하지 않습니다.

다음 해결 방법은 WordPress, LAMP, Magento, MEAN 등의 Bitnami 호스팅 Lightsail 인스턴스에서 수동으로 인증서를 갱신하는 방법을 다룹니다. 다음 해결 방법으로 자동 갱신이 실패한 이유를 찾는 데 대한 지침은 제공되지 않습니다.

해결 방법

시작하기 전에

다음 도구 중 인증서 설치에 사용한 도구를 식별합니다.

  • Bitnami가 제공하는 “bncert-tool” 또는 “Lego” 클라이언트
  • "Certbot" 패키지

SSL 인증서 설치에 사용한 도구를 식별하려면 다음을 수행합니다.

1.    다음 명령을 실행하여 디렉터리 /etc/letsencrypt/opt/bitnami/letsencrypt의 인증서 파일을 검색합니다. DOMAIN을 도메인 이름으로 바꿉니다.

sudo grep -irl "$(openssl s_client -verify_quiet -showcerts -connect DOMAIN:443 2>/dev/null | sed -n '/BEGIN/,/END/{p;/END/q}' | head -n 3 | tail -n 2)" /opt/bitnami/letsencrypt /etc/letsencrypt

2.    인증서 파일이 /opt/bitnami/letsencrypt의 하위 디렉터리에 있으면 인증서는 bncert-tool 또는 Lego 클라이언트를 사용하여 설치되었을 수 있습니다. 이를 수행하기 위해 다음 명령을 실행합니다.

sudo /opt/bitnami/letsencrypt/lego --path /opt/bitnami/letsencrypt list

1단계의 명령 출력이 이전 명령에서 제공한 인증서 경로와 일치하면 bncert-tool 또는 Lego를 사용하여 인증서가 설치된 것입니다.

인증서 파일이 /etc/letsencrypt의 하위 디렉터리에 있으면 인증서가 Certbot을 사용하여 설치되었을 수 있습니다. 이를 수행하기 위해 다음 명령을 실행합니다.

sudo certbot certificates

1단계의 명령 출력이 이전 명령에서 제공한 인증서 경로와 일치하면 (있는 경우) Certbot을 사용하여 인증서가 설치된 것입니다.

bncert-tool 또는 Lego 도구를 사용하여 설치한 Let's Encrypt 인증서 갱신하기

다음 명령을 실행합니다.

sudo /opt/bitnami/ctlscript.sh stop
sudo /opt/bitnami/letsencrypt/lego --tls --email="EMAIL-ADDRESS" --domains="DOMAIN" --path="/opt/bitnami/letsencrypt" renew --days 90
sudo /opt/bitnami/ctlscript.sh start

앞의 명령에서 EMAIL-ADDRESSDOMAIN을 올바른 값으로 바꿉니다.

모든 종류의 작업 중인 이메일 주소를 사용할 수 있습니다. 또는 인증서를 설치할 때 사용한 것과 동일한 전자 메일 주소를 사용할 수 있습니다. 다음 명령을 실행하여 인증서를 설치할 때 사용한 전자 메일을 검색할 수 있습니다.

sudo ls /opt/bitnami/letsencrypt/accounts/acm*

다음 명령을 실행하여 도메인 이름을 확인할 수 있습니다.

sudo /opt/bitnami/letsencrypt/lego --path /opt/bitnami/letsencrypt list

Certbot 도구를 사용하여 설치된 Let's Encrypt 인증서 갱신하기

인증서 설치에 사용한 인증 방법을 결정합니다. 이를 수행하기 위해 다음 명령을 실행합니다. DOMAIN을 인증서의 기본 도메인 이름으로 바꿉니다. 도메인 이름을 확인하려면 sudo certbot 인증서 명령을 실행합니다.

sudo cat /etc/letsencrypt/renewal/DOMAIN.conf

명령 출력에서 인증자 파라미터 값을 봅니다.

인증자 파라미터 값이 독립실행형, 웹 루트, apache, nginx, dns-route53 등이면, 다음 명령을 실행하여 갱신을 완료합니다.

sudo /opt/bitnami/ctlscript.sh stop
sudo certbot renew
sudo /opt/bitnami/ctlscript.sh start

위의 명령은 갱신할 예정인 설치된 모든 인증서를 갱신합니다.

인증자 파라미터 값이 수동이며 pref_challs 파라미터 값이 dns인 경우 자동 갱신을 설정할 수 없습니다. 다음 단계에 따라 수동으로 갱신해야 합니다. 인증서를 갱신할 때마다 이 단계를 반복해야 합니다.

1.    이 방법을 사용하려면 도메인의 DNS 공급자에 TXT 레코드를 추가해야 합니다. 이 과정은 다소 시간이 걸릴 수 있으므로 Linux GNU 화면에서 명령을 실행하여 세션 시간 초과를 방지하는 것이 제일 좋습니다. Screen 세션을 시작하려면 다음 명령을 입력합니다.

screen -S letsencrypt

2.    다음 명령을 실행하고 Domains 파라미터 값을 찾습니다. 다음 예에서는 DOMAIN 을 인증서의 기본 도메인 이름으로 바꿉니다.

sudo certbot certificates -d DOMAIN

3.    다음 명령을 실행하여 인증서를 갱신합니다. -d 옵션을 사용하여 이전 명령에서 찾은 각 도메인을 동일한 순서로 포함해야 합니다. 추가적인 도메인을 포함하는 경우 현재 도메인을 제거하거나, 도메인의 순서를 변경하면, 원래 인증서가 갱신되는 대신 DOMAIN-001 이름으로 새 인증서가 생성될 수 있습니다.

sudo certbot certonly --manual --preferred-challenge dns -d DOMAIN-1 -d DOMAIN-2 --force-renewal

4.    도메인의 DNS 레코드에 TXT 레코드를 추가하여 지정된 도메인을 소유 여부를 확인하라는 메시지가 표시됩니다. Let's Encrypt는 검증에 반드시 사용해야 하는 하나 또는 여러 개의 TXT 레코드를 제공합니다.

5.    화면에 TXT 레코드가 표시되면 먼저 도메인의 DNS에 제공된 레코드를 추가합니다. TXT 레코드가 인터넷 DNS로 전파된다는 것을 확인할 때까지 ENTER 키를 누르지 마십시오. 또한 현재 화면 세션이 종료되므로 CTRL+D를 누르지 마십시오.

6.    TXT 레코드가 인터넷 DNS로 전파되었는지 확인하려면 DNS 텍스트 조회에서 찾아보십시오. 텍스트 상자에 다음 텍스트를 입력하고 TXT 조회를 선택하여 확인합니다. example.com을 사용자 도메인으로 바꿔야 합니다.

_acme-challenge.example.com

7.    TXT 레코드가 인터넷의 DNS로 전파된 경우 페이지에 TXT 레코드 값이 표시됩니다. 이제 화면으로 돌아가서 Enter 키를 누를 수 있습니다.

8.    참고: 셸에서 제거된 경우 명령 screen -r SESSIONID를 사용하여 다시 가져옵니다. 명령 screen -ls를 실행하여 세션 ID를 가져옵니다.

9.    Certbot 프롬프트에서 다른 TXT 레코드를 추가하라는 메시지가 표시되면, 5~8단계를 다시 완료하십시오.

10.    SSL 인증서가 생성되면 “인증서를 받았습니다.”라는 메시지가 나타납니다.

---**

AWS 공식
AWS 공식업데이트됨 3년 전