Amazon Lightsail에 호스팅되는 Bitnami 스택에 SSL 인증서를 설치하려면 어떻게 해야 합니까?

최종 업데이트 날짜: 2020년 4월 3일

Amazon Lightsail에 호스팅되는 Bitnami 스택에 SSL 인증서를 설치하려면 어떻게 해야 합니까?

간략한 설명

Lego 클라이언트를 사용하여 무료 Let's Encrypt SSL 인증서를 생성할 수 있습니다. Let's Encrypt와 Lego 클라이언트에 대한 자세한 정보는 GitHub 웹사이트의 Let's Encrypt 클라이언트와 ACME 라이브러리를 참조하십시오.

​해결 방법

Lightsail 인스턴스 생성

1.    Lightsail 콘솔을 연 다음, [인스턴스 생성]을 선택합니다.

2.    플랫폼에서 [Linux]를 선택하고 블루프린트에 [WordPress]를 선택한 다음, [인스턴스 생성]을 선택합니다.

3.    고정 IP 주소를 생성하고 인스턴스에 연결합니다. 다음 예에서 192.0.2.0은 고정 IP 주소입니다.

4.    주소 (A) 레코드를 생성하고 도메인에서 IP로 지정합니다.

5.    host 명령으로 DNS 검색을 실행하여 도메인이 고정 IP에 매핑되었는지 확인합니다.

$ host example.ie
example.ie has address 192.0.2.0

6.    웹 브라우저에 도메인을 입력하고 HTTPS가 아니라 HTTP를 통해서만 액세스할 수 있는지 확인합니다.

Bitnami HTTPS 구성 도구 실행

Bitnami HTTPS 구성 도구는 2019년 5월 10일 이후에 릴리스된 Bitnami 스택의/opt/bitnami/letsencrypt/directory에 포함되었습니다. 이 도구는 다음과 같은 절차를 자동으로 실행합니다.

Bitnami 스택에서 HTTPS 인증서 구성
자동 인증서 갱신 생성
HTTP를 HTTPS로 리디렉션 설정

다음 명령을 실행하여 Bitnami HTTPS 구성 도구를 시작합니다.

sudo /opt/bitnami/bncert-tool

이 도구를 사용하거나 다운로드하는 방법에 대한 자세한 내용은 Bitnami 설명서 웹사이트의 Bitnami HTTPS 구성 도구에 대해 자세히 알아보기를 참조하십시오.

(선택 사항) Let's Encrypt 인증서 수동 생성 및 구성

Bitnami HTTPS 구성 도구가 설치되어 있지 않거나 /opt/bitnami/letsencrypt/directory가 없다면 Let's Encrypt 인증서를 수동으로 생성 및 구성할 수 있습니다.

Let's Encrypt 인증서를 수동으로 생성하고 구성하는 방법에 대한 지침은 Bitnami 설명서 웹사이트의 Bitnami 애플리케이션용 Let's Encrypt SSL 인증서 생성 및 설치 - 대체 방법을 참조하십시오.

참고: Let's Encrypt SSL 인증서는 Lego 클라이언트에서 생성됩니다. 이전 Bitnami 버전에는 Lego 클라이언트가 설치되지 않았을 수 있습니다. /opt/bitnami/letsencrypt/ 디렉터리를 검색하여 Lego 클라이언트가 설치되었는지 확인합니다.

ls -l /opt/bitnami/letsencrypt/
total 29244
-rwxr-xr-x 1 root root 29940480 Apr 18 18:42 lego
drwxr-xr-x 2 root root   4096 Apr 30 10:44 scripts

(선택 사항) HTTP를 HTTPS로 리디렉션 수동 구성

강제로 HTTP를 HTTPS로 리디렉션하려면 Apache 구성 파일의 가상 호스트 부분을 편집합니다. Bitnami WordPress 이미지에서 이 파일은 /opt/bitnami/apache2/conf/bitnami/bitnami.conf에 있습니다.

1.    다음 줄을 포함하도록 Apache 구성을 편집합니다.

RewriteEngine On
RewriteCond %{HTTPS} !=on
RewriteRule ^/(.*) https://%{SERVER_NAME}/$1 [R,L]

다음은 편집된 Apache 구성의 예시입니다.

$ sudo vi /opt/bitnami/apache2/conf/bitnami/bitnami.conf
  DocumentRoot "/opt/bitnami/apache2/htdocs"
RewriteEngine On
RewriteCond %{HTTPS} !=on
RewriteRule ^/(.*) https://%{SERVER_NAME}/$1 [R,L]

2.    변경 사항을 적용하려면 Bitnami 서비스를 다시 시작합니다.

$ sudo /opt/bitnami/ctlscript.sh restart
Syntax OK
/opt/bitnami/apache2/scripts/ctl.sh : httpd stopped
/opt/bitnami/php/scripts/ctl.sh : php-fpm stopped
/opt/bitnami/mysql/scripts/ctl.sh : mysql stopped
/opt/bitnami/mysql/scripts/ctl.sh : mysql  started at port 3306
/opt/bitnami/php/scripts/ctl.sh : php-fpm started
Syntax OK
/opt/bitnami/apache2/scripts/ctl.sh : httpd started at port 80

명령줄에서 다음의 명령을 사용하여 HTTP를 HTTPS로 리디렉션이 작동하는지 확인할 수 있습니다.

$ curl -Ilkv example.ie
* Rebuilt URL to: example.ie/
*   Trying 192.0.2.0...
* TCP_NODELAY set
* Connected to example.ie (192.0.2.0) port 80 (#0)
> HEAD / HTTP/1.1
> Host: example.ie
> User-Agent: curl/7.53.1
> Accept: */*
> 
< HTTP/1.1 302 Found
HTTP/1.1 302 Found
< Date: Thu, 20 Jun 2019 14:53:04 GMT
Date: Thu, 20 Jun 2019 14:53:04 GMT
< Server: Apache
Server: Apache
< X-Frame-Options: SAMEORIGIN
X-Frame-Options: SAMEORIGIN
< Location: https://example.ie/
Location: https://example.ie/
< Content-Type: text/html; charset=iso-8859-1
Content-Type: text/html; charset=iso-8859-1
* Connection #0 to host example.ie left intact

이 문서가 도움이 되었습니까?

AWS에서 개선해야 할 부분이 있습니까?


도움이 필요하십니까?