Knowledge Center Monthly Newsletter - March 2025
Stay up to date with the latest from the Knowledge Center. See all new and updated Knowledge Center articles published in the last month and re:Post’s top contributors.
Lightsail에서 호스팅되는 Bitnami 스택에 와일드카드 Let's Encrypt SSL 인증서를 설치하려면 어떻게 해야 하나요?
Bitnami 스택을 통해 Amazon Lightsail 인스턴스에 내 웹사이트에 와일드카드 SSL 인증서를 설치하려고 합니다.
간략한 설명
다른 인스턴스 블루프린트 또는 표준 인증서를 설치하는 방법에 대한 자세한 내용은 다음 AWS Knowledge Center 문서를 참조하세요.
- Lightsail 인스턴스에 표준 Let's Encrypt SSL 인증서를 설치하려면 어떻게 하나요? 이 솔루션에는 Amazon Linux 2 및 Ubuntu와 같은 인스턴스가 포함됩니다.
- Amazon Lightsail에서 호스팅되는 Bitnami 스택에 Let's Encrypt SSL 인증서를 설치하려면 어떻게 해야 하나요? 이 솔루션에는 WordPress, LAMP, Magento와 같은 인스턴스가 포함됩니다.
- Amazon Lightsail에 와일드카드 Let's Encrypt SSL 인증서를 설치하려면 어떻게 해야 하나요? 이 솔루션에는 Amazon Linux 2 및 Ubuntu와 같은 인스턴스가 포함됩니다.
해결 방법
Bitnami에서 호스팅하는 Lightsail 인스턴스에 와일드카드 Let's Encrypt SSL 인증서를 설치하는 단계는 도메인이 사용하는 DNS 공급자에 따라 다릅니다. DNS 공급자가 Lego 웹사이트의 DNS 제공자에 등록되어 있는지 확인하세요. 그런 다음 사용할 적절한 방법을 선택하세요.
- 나열된 DNS 제공자 중 하나를 도메인이 사용하는 경우 Bitnami에서 제공하는 Lego 도구를 사용하세요.
- 나열된 DNS 제공자 중 하나를 도메인이 사용하지 않는 경우 Certbot 패키지를 사용하세요.
참고: 파일 경로는 Bitnami 스택이 네이티브 Linux 시스템 패키지(Approach A)를 사용하는지 아니면 독립형 설치(Approach B)를 사용하는지에 따라 달라질 수 있습니다. 최신 Bitnami WordPress 블루프린트는 Approach A에서만 사용할 수 있습니다.
Bitnami 설치 유형을 식별하려면 다음 명령을 실행합니다.
test ! -f "/opt/bitnami/common/bin/openssl" && echo "Approach A: Using system packages." || echo "Approach B: Self-contained installation."
Lego 도구
Bitnami는 bncert 도구와 Lego 도구를 제공합니다. Lego 도구는 와일드카드 SSL 인증서 생성을 지원합니다. bncert 도구는 와일드카드 SSL 인증서 생성을 지원하지 않습니다.
참고: 다음 예제에서 DNS 공급자는 Amazon Route 53 및 Amazon Lightsail입니다.
Lego 도구를 사용하여 와일드카드 Let's Encrypt SSL 인증서를 설치하려면 다음 단계를 완료합니다.
-
프로그램 액세스 권한이 있는 AWS Identity and Access Management(AWS IAM) 사용자를 만듭니다. Lego가 DNS 검증을 완료하는 데 필요한 IAM 사용자 권한을 결정하려면 Lego 웹 사이트의 IAM 정책 예시를 참조하세요.
-
나노 편집기에서 파일 /root/.aws/credentials 파일을 열려면 다음 명령을 실행합니다.
sudo mkdir /root/.aws sudo nano /root/.aws/credentials
-
자격 증명 파일에 다음 줄을 입력합니다.
[default] aws_access_key_id = AKIA************E aws_secret_access_key = 1yop**************************l region = us-east-1
**참고:**aws_access_key_id 및 aws_secret_access_key를 사용자의 값으로 바꾸세요. us-east-1을 Lightsail 인스턴스의 AWS 리전으로 바꾸세요.
-
파일을 저장하려면 Ctrl + X와 y, Enter를 차례로 누릅니다.
-
Bitnami 인스턴스에 /opt/bitnami/letsencrypt/ 디렉터리가 포함되어 있지 않은 경우 다음 명령을 실행하여 Lego 클라이언트를 수동으로 설치하세요.
cd /tmp curl -Ls https://api.github.com/repos/xenolf/lego/releases/latest | grep browser_download_url | grep linux_amd64 | cut -d '"' -f 4 | wget -i - -O lego.tar.gz tar xzf lego.tar.gz sudo mkdir -p /opt/bitnami/letsencrypt sudo mv lego /opt/bitnami/letsencrypt/lego
-
서버에 와일드카드 Let's Encrypt 인증서를 만들려면 서버 유형에 따라 다음 명령을 실행하세요.
Route 53 네임 서버:sudo /opt/bitnami/letsencrypt/lego --email="EMAIL-ADDRESS" --domains="DOMAIN" --domains="*.DOMAIN" --dns route53 --path="/opt/bitnami/letsencrypt" run
Lightsail 네임 서버:
sudo DNS_ZONE=DOMAIN /opt/bitnami/letsencrypt/lego --email="EMAIL-ADDRESS" --domains="DOMAIN" --domains="*.DOMAIN" --dns lightsail --path="/opt/bitnami/letsencrypt" run
참고: EMAIL-ADDRESS를 인증서 업데이트를 받을 이메일 주소로 바꾸세요. DOMAIN을 사용자의 도메인으로 변경하세요.
SSL 인증서와 프라이빗 키는 /opt/bitnami/letsencrypt/certificates/DOMAIN.crt 또는 /opt/bitnami/letsencrypt/certificates/DOMAIN.key 위치에 생성됩니다. -
Bitnami 스택 서비스를 중지하려면 다음 명령을 실행합니다.
sudo /opt/bitnami/ctlscript.sh stop
-
서버 및 접근 방식에 따라 SSL 인증서 및 인증서 키 파일을 웹 서버가 현재 읽고 있는 위치에 연결합니다.
Apache, Approach Asudo mv /opt/bitnami/apache2/conf/bitnami/certs/server.crt /opt/bitnami/apache2/conf/bitnami/certs/server.crt.old sudo mv /opt/bitnami/apache2/conf/bitnami/certs/server.key /opt/bitnami/apache2/conf/bitnami/certs/server.key.old sudo ln -sf /opt/bitnami/letsencrypt/certificates/DOMAIN.key /opt/bitnami/apache2/conf/bitnami/certs/server.key sudo ln -sf /opt/bitnami/letsencrypt/certificates/DOMAIN.crt /opt/bitnami/apache2/conf/bitnami/certs/server.crt
Apache, Approach B
sudo mv /opt/bitnami/apache2/conf/server.crt /opt/bitnami/apache2/conf/server.crt.old sudo mv /opt/bitnami/apache2/conf/server.key /opt/bitnami/apache2/conf/server.key.old sudo mv /opt/bitnami/apache2/conf/server.csr /opt/bitnami/apache2/conf/server.csr.old sudo ln -sf /opt/bitnami/letsencrypt/certificates/DOMAIN.key /opt/bitnami/apache2/conf/server.key sudo ln -sf /opt/bitnami/letsencrypt/certificates/DOMAIN.crt /opt/bitnami/apache2/conf/server.crt
NGINX, Approach A
sudo mv /opt/bitnami/nginx/conf/bitnami/certs/server.crt /opt/bitnami/nginx/conf/bitnami/certs/server.crt.old sudo mv /opt/bitnami/nginx/conf/bitnami/certs/server.key /opt/bitnami/nginx/conf/bitnami/certs/server.key.old sudo ln -sf /opt/bitnami/letsencrypt/certificates/DOMAIN.key /opt/bitnami/nginx/conf/bitnami/certs/server.key sudo ln -sf /opt/bitnami/letsencrypt/certificates/DOMAIN.crt /opt/bitnami/nginx/conf/bitnami/certs/server.crt
NGINX, Approach B
sudo mv /opt/bitnami/nginx/conf/server.crt /opt/bitnami/nginx/conf/server.crt.old sudo mv /opt/bitnami/nginx/conf/server.key /opt/bitnami/nginx/conf/server.key.old sudo mv /opt/bitnami/nginx/conf/server.csr /opt/bitnami/nginx/conf/server.csr.old sudo ln -sf /opt/bitnami/letsencrypt/certificates/DOMAIN.key /opt/bitnami/nginx/conf/server.key sudo ln -sf /opt/bitnami/letsencrypt/certificates/DOMAIN.crt /opt/bitnami/nginx/conf/server.crt
참고: 위 명령의 경우 DOMAIN을 사용자의 도메인 이름으로 바꾸세요.
-
Bitnami 스택 서비스를 시작하려면 다음 명령을 실행하세요.
sudo /opt/bitnami/ctlscript.sh start
-
인증서 갱신을 자동화하려면 다음 명령을 실행하여 crontab 편집기를 여세요.
sudo crontab -e -u bitnami
참고: Let’s Encrypt 인증서는 90일 동안 유효합니다.
crontab 파일에 다음 줄을 입력한 다음 파일을 저장하세요.
Apache
0 0 * * * sudo /opt/bitnami/letsencrypt/lego --path /opt/bitnami/letsencrypt --email="EMAIL-ADDRESS" --domains="DOMAIN" --domains="*.DOMAIN" --dns DNS renew >> /var/log/letsencrypt.log 2>&1 && sudo /opt/bitnami/apache/bin/httpd -f /opt/bitnami/apache/conf/httpd.conf -k graceful
Nginx
0 0 * * * sudo /opt/bitnami/letsencrypt/lego --path /opt/bitnami/letsencrypt --email="EMAIL-ADDRESS" --domains="DOMAIN" --domains="*.DOMAIN" --dns DNS renew >> /var/log/letsencrypt.log 2>&1 && sudo /opt/bitnami/nginx/sbin/nginx -c /opt/bitnami/nginx/conf/nginx.conf -s reload
참고: EMAIL-ADDRESS, DOMAIN, DNS를 사용자의 값으로 바꾸세요. HTTPS 리디렉션을 설정하세요. 자세한 내용은 Bitnami 웹 사이트에서 Apache를 통한 강제 HTTPS 리디렉션 및 ](https://docs.bitnami.com/general/infrastructure/nginx/administration/force-https-nginx/)NGINX를 사용한 강제 HTTPS 리디렉션[을 참조하세요.
Certbot 패키지
사전 요구 사항:
- Certbot을 설치합니다.
- 사용자의 Linux 배포판을 확인하세요. Bitnami 호스팅 인스턴스의 경우 Linux 배포판은 Debian 또는 Ubuntu입니다. 다음 명령을 실행하여 Linux 배포판을 확인하세요.
참고: 이 방법은 자동 인증서 갱신을 지원하지 않습니다.cat /etc/os-release | grep -i ^id
Certbot 패키지를 사용하여 와일드카드 Let's Encrypt SSL 인증서를 설치하려면 다음 단계를 완료합니다.
-
Linux GNU Screen 세션을 시작하세요. 도메인의 DNS 공급자에 TXT 레코드를 추가하는 데 시간이 걸리기 때문에 세션 시간이 초과될 수 있습니다. 세션이 시간 초과되지 않도록 Linux GNU Screen에서 명령을 실행하는 것이 가장 좋습니다. 화면 세션을 시작하려면 다음 명령을 실행합니다.
screen -S letsencrypt
-
Certbot 대화형 모드를 시작하려면 다음 명령을 실행합니다.
sudo certbot certonly --manual --preferred-challenges dns -d example.com -d *.example.com
참고:****example.com을 사용자의 값으로 바꾸세요.
"bash: certbot: command not found"와 같은 오류 응답이 표시되면 사용자의 PATH 환경 변수에 /bin/snap을 추가해야 할 수 있습니다. 먼저 “exit”를 입력하고 Enter를 누릅니다. 또는 Ctrl + D를 눌러 화면 세션을 종료합니다. 그런 다음 /etc/environment를 편집하고 목록에**/snap/bin**을 추가합니다. 시스템을 다시 시작하세요. 더 이상 오류가 발생하지 않는지 확인하려면 다음 명령을 실행하세요.$ certbot -h
-
Let’s Encrypt가 제공하는 TXT 레코드를 복사하세요. Let's Encrypt의 경우 확인을 위해 사용해야 하는 TXT 레코드를 하나나 여러 개 제공합니다.
-
제공된 레코드를 도메인의 DNS에 추가합니다.
중요: TXT 레코드가 인터넷 DNS로 전파되었는지 확인될 때까지 Enter 키를 누르지 마세요. 또한 Ctrl + D를 누르면 화면 세션이 종료되므로 누르지 마세요. -
레코드가 전파되었는지 확인하려면 MxToolbox 웹 사이트의 DNS 텍스트 조회에서 TXT 레코드를 조회하세요.
_acme-challenge.example.com
참고:****example.com을 사용자의 값으로 바꾸세요.
TXT 레코드가 전파되는 경우 해당 페이지에 TXT 레코드 값이 표시됩니다. 이전 화면으로 돌아가서 Enter를 누르세요. -
쉘에서 사용자가 제거된 경우 다음 명령을 실행하여 쉘로 돌아가세요.
Screen -r SESSIONID
**참고:**screen -ls 명령을 실행해 세션 ID를 가져옵니다.
-
(선택 사항) 프롬프트가 표시되면 이전 단계를 반복하여 다른 TXT 레코드를 추가하세요.
참고: DNS 공급자로 Route 53을 사용하는 경우 행마다 하나의 TXT 값을 입력하세요. TXT 레코드를 편집한 다음 새 행에 certbot이 제공하는 TXT 값을 추가하세요. -
SSL 인증서 및 키 파일의 파일 위치를 저장하세요. SSL 인증서가 생성되면 “Successfully received certificate”라는 메시지가 표시됩니다.
-
인증서를 사용하도록 웹 서버를 구성하려면 서버 및 접근 방식에 따라 다음 명령을 실행합니다.
Apache, Approach Asudo /opt/bitnami/ctlscript.sh stop sudo mv /opt/bitnami/apache2/conf/bitnami/certs/server.crt /opt/bitnami/apache2/conf/bitnami/certs/server.crt.old sudo mv /opt/bitnami/apache2/conf/bitnami/certs/server.key /opt/bitnami/apache2/conf/bitnami/certs/server.key.old sudo ln -sf /etc/letsencrypt/live/DOMAIN/privkey.pem /opt/bitnami/apache2/conf/bitnami/certs/server.key sudo ln -sf /etc/letsencrypt/live/DOMAIN/fullchain.pem /opt/bitnami/apache2/conf/bitnami/certs/server.crt sudo /opt/bitnami/ctlscript.sh start
Apache, Approach B
sudo /opt/bitnami/ctlscript.sh stop sudo mv /opt/bitnami/apache2/conf/server.crt /opt/bitnami/apache2/conf/server.crt.old sudo mv /opt/bitnami/apache2/conf/server.key /opt/bitnami/apache2/conf/server.key.old sudo ln -sf /etc/letsencrypt/live/DOMAIN/privkey.pem /opt/bitnami/apache2/conf/server.key sudo ln -sf /etc/letsencrypt/live/DOMAIN/fullchain.pem /opt/bitnami/apache2/conf/server.crt sudo /opt/bitnami/ctlscript.sh start
NGINX, Approach A
sudo /opt/bitnami/ctlscript.sh stop sudo mv /opt/bitnami/nginx/conf/bitnami/certs/server.crt /opt/bitnami/nginx/conf/bitnami/certs/server.crt.old sudo mv /opt/bitnami/nginx/conf/bitnami/certs/server.key /opt/bitnami/nginx/conf/bitnami/certs/server.key.old sudo ln -sf /etc/letsencrypt/live/DOMAIN/privkey.pem /opt/bitnami/nginx/conf/bitnami/certs/server.key sudo ln -sf /etc/letsencrypt/live/DOMAIN/fullchain.pem /opt/bitnami/nginx/conf/bitnami/certs/server.crt sudo /opt/bitnami/ctlscript.sh start
NGINX, Approach B
sudo /opt/bitnami/ctlscript.sh stop sudo mv /opt/bitnami/nginx/conf/server.crt /opt/bitnami/nginx/conf/server.crt.old sudo mv /opt/bitnami/nginx/conf/server.key /opt/bitnami/nginx/conf/server.key.old sudo ln -sf /etc/letsencrypt/live/DOMAIN/privkey.pem /opt/bitnami/nginx/conf/server.key sudo ln -sf /etc/letsencrypt/live/DOMAIN/fullchain.pem /opt/bitnami/nginx/conf/server.crt sudo /opt/bitnami/ctlscript.sh start
참고: 위 명령의 경우 DOMAIN을 사용자의 도메인 이름으로 바꾸세요.
-
HTTPS 리디렉션을 설정하세요. 자세한 내용은 Bitnami 웹 사이트에서 Apache를 통한 강제 HTTPS 리디렉션 및 ](https://docs.bitnami.com/aws/infrastructure/ruby/administration/force-https-nginx/)NGINX를 사용한 강제 HTTPS 리디렉션[을 참조하세요.

관련 콘텐츠
- 질문됨 8달 전lg...
- 질문됨 3달 전lg...
- AWS 공식업데이트됨 일 년 전