

기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.

# Lightsail에서 HTTPS로 WordPress 사이트 보호
<a name="amazon-lightsail-enabling-https-on-wordpress"></a>

WordPress 웹 사이트에 Hypertext Transfer Protocol Secure(HTTPS)를 활성화하면 방문자에게 웹 사이트가 안전하다는 것을 보장하고 암호화된 데이터를 보내고 받을 수 있습니다. 보안되지 않은 웹 사이트의 주소는 `http`로 시작(예: `http://example.com`)하는 반면, 보안 웹 사이트의 주소는 `https`(예: `https://example.com`)로 시작합니다. 주로 정보를 제공하는 웹 사이트인 경우에도 HTTPS를 활성화하는 것이 좋습니다. 대부분의 웹 브라우저가 HTTPS를 활성화하지 않으면 웹 사이트 방문자에게 웹 사이트가 안전하지 않다고 안내하며, 검색 엔진 결과에서 웹 사이트가 아래쪽에 표시됩니다.

**작은 정보**  
Lightsail은 WordPress 인스턴스에서 SSL/TLS Let's Encrypt 인증서의 설치 및 구성을 자동화하는 안내 워크플로를 제공합니다. 이 자습서의 수동 단계를 따르지 않고 워크플로를 사용하는 것이 좋습니다. 자세한 내용은 [WordPress 인스턴스 시작 및 구성](amazon-lightsail-tutorial-launching-and-configuring-wordpress.md)을 참조하세요.

이 가이드에서는 Bitnami HTTPS 구성 도구(`bncert`)를 사용하여 Amazon Lightsail의 *Bitnami 인증* WordPress 인스턴스에서 HTTPS를 활성화하는 방법을 안내합니다. 요청할 때 지정한 도메인 및 하위 도메인에 대해서만 인증서를 요청할 수 있습니다. 아니면 도메인용 인증서와 하위 도메인용 와일드카드 인증서를 요청할 수 있는 Certbot 도구를 사용할 수도 있습니다. 와일드카드 인증서는 도메인의 *모든* 하위 도메인에서 사용할 수 있으며, 트래픽을 인스턴스로 연결하는 데 사용할 하위 도메인을 모르는 경우 유용합니다. 그러나 Certbot은 `bncert` 도구처럼 인증서를 자동으로 갱신하지 않습니다. Certbot을 사용할 경우 90일마다 수동으로 인증서를 갱신해야 합니다. Certbot을 사용하여 HTTPS를 활성화하는 방법에 대한 자세한 내용은 [자습서: WordPress 인스턴스와 함께 Let's Encrypt SSL 인증서 사용](amazon-lightsail-using-lets-encrypt-certificates-with-wordpress.md)을 참조하세요.

**목차**
+ [1단계: 프로세스 알아보기](#https-process-wordpress)
+ [2단계: 사전 조건 완료](#https-prerequisites-wordpress)
+ [3단계: 인스턴스에 연결](#https-wordpress-connect-to-instance)
+ [4단계: 인스턴스에 bncert 도구 설치 여부 확인](#https-wordpress-bncert-install)
+ [5단계: WordPress 인스턴스에서 HTTPS 활성화](#https-wordpress-enable)
+ [6단계: 웹 사이트에서 HTTPS 사용 여부 테스트](#test-https-on-your-website)

## 1단계: 프로세스 알아보기
<a name="https-process-wordpress"></a>

**참고**  
이 섹션에서는 프로세스의 개괄적인 개요를 살펴봅니다. 이 프로세스를 수행하기 위한 구체적인 단계는 이 가이드의 후속 단계에 나와 있습니다.

WordPress 웹 사이트에 HTTPS를 활성화하려면 SSH를 사용하여 Lightsail 인스턴스에 연결한 다음, `bncert` 도구를 사용하여 [Let's Encrypt](https://letsencrypt.org/about/) 인증 기관에서 SSL/TLS 인증서를 요청합니다. 인증서를 요청할 때 웹 사이트의 기본 도메인(`example.com`)과 대체 도메인(`www.example.com`, `blog.example.com` 등)을 지정해야 합니다. Let's Encrypt는 도메인의 DNS에 TXT 레코드를 생성하도록 요청하거나 해당 도메인이 요청한 인스턴스의 퍼블릭 IP 주소로 트래픽을 이미 연결하고 있는지 확인하여 소유한 도메인을 검증합니다.

인증서가 검증되면 WordPress 웹 사이트를 구성해서 방문자를 HTTP에서 HTTPS로 자동 리디렉션(`http://example.com`을 `https://example.com`으로 리디렉션)하여 방문자가 암호화된 연결을 사용하도록 할 수 있습니다. `www` 하위 도메인을 도메인의 정점으로 자동 리디렉션(`https://www.example.com`을 `https://example.com`으로 리디렉션)하거나 그 반대로 리디렉션(`https://example.com`을 `https://www.example.com`으로 리디렉션)하도록 웹 사이트를 구성할 수도 있습니다. 이러한 리디렉션은 `bncert` 도구를 사용하여 구성됩니다.

Let's Encrypt를 사용하면 90일마다 인증서를 갱신해야 웹 사이트에서 HTTPS를 유지할 수 있습니다. `bncert` 도구는 인증서를 자동으로 갱신하므로, 사용자는 웹 사이트 자체에 더 많은 시간을 투자할 수 있습니다.

**bncert 도구의 제한 사항**

`bncert` 도구에는 다음과 같은 제한 사항이 있습니다.
+ 생성 시 모든 *Bitnami 인증* WordPress 인스턴스에 미리 설치되어 있지 않습니다. 이전에 Lightsail에서 생성된 WordPress 인스턴스를 사용하면 `bncert` 도구를 수동으로 설치해야 합니다. 이 가이드의 4단계에서는 도구가 인스턴스에 설치되어 있는지 확인하는 방법과 설치되어 있지 않은 경우 설치하는 방법을 설명합니다.
+ 요청할 때 지정한 도메인 및 하위 도메인에 대해서만 인증서를 요청할 수 있습니다. 이는 Certbot 도구와는 다른데, Certbot 도구를 사용하면 도메인용 인증서와 하위 도메인용 와일드카드 인증서를 요청할 수 있습니다. 와일드카드 인증서는 도메인의 *모든* 하위 도메인에서 사용할 수 있으며, 트래픽을 인스턴스로 연결하는 데 사용할 하위 도메인을 모르는 경우 유용합니다. 그러나 Certbot은 `bncert` 도구처럼 인증서를 자동으로 갱신하지 않습니다. Certbot을 사용할 경우 90일마다 수동으로 인증서를 갱신해야 합니다. Certbot을 사용하여 HTTPS를 활성화하는 방법에 대한 자세한 내용은 [자습서: Amazon Lightsail에서 WordPress 인스턴스와 함께 Let's Encrypt SSL 인증서 사용](amazon-lightsail-using-lets-encrypt-certificates-with-wordpress.md)을 참조하세요.

## 2단계: 사전 조건 완료
<a name="https-prerequisites-wordpress"></a>

아직 수행하지 않은 경우 다음 사전 조건을 완료하세요.
+ Lightsail에서 WordPress 인스턴스를 생성하고 인스턴스에서 웹 사이트를 구성합니다. 자세한 내용은 [Amazon Lightsail에서 Linux/Unix 기반 인스턴스 시작하기](getting-started-with-amazon-lightsail.md)를 참조하세요.
+ 고정 IP를 인스턴스에 연결합니다. 인스턴스를 중지했다가 시작하면 인스턴스의 퍼블릭 IP 주소가 변경됩니다. 인스턴스를 중지했다가 시작해도 고정 IP는 변경되지 않습니다. 자세한 내용은 [고정 IP를 생성하여 Amazon Lightsail의 인스턴스에 연결](lightsail-create-static-ip.md)을 참조하세요.
+ WordPress 인스턴스 구성을 완료한 후 스냅샷을 생성하거나 자동 스냅샷을 활성화합니다. 스냅샷은 원본 인스턴스에 문제가 발생할 경우에 대비하여 다른 인스턴스를 생성할 수 있는 백업으로 사용할 수 있습니다. 자세한 내용은 [Linux 또는 Unix 인스턴스의 스냅샷 생성](lightsail-how-to-create-a-snapshot-of-your-instance.md) 또는 [Amazon Lightsail에서 인스턴스 또는 디스크의 자동 스냅샷 활성화 또는 비활성화](amazon-lightsail-configuring-automatic-snapshots.md)를 참조하세요.
+ 도메인의 정점(`example.com`) 및 `www` 하위 도메인(`www.example.com`)에 대한 트래픽을 Lightsail에 있는 WordPress 인스턴스의 퍼블릭 IP 주소로 연결하는 도메인의 DNS에 DNS 레코드를 추가합니다. 도메인의 현재 DNS 호스팅 공급자에서 이러한 작업을 완료할 수 있습니다. 도메인의 DNS 관리를 Lightsail로 전송한 경우 Lightsail의 DNS 영역을 사용하여 작업을 완료할 수도 있습니다. 자세한 내용은 [DNS](understanding-dns-in-amazon-lightsail.md)를 참조하세요.
**중요**  
WordPress 웹 사이트에서 사용할 모든 도메인의 DNS에 DNS 레코드를 추가합니다. 이러한 도메인은 모두 WordPress 웹 사이트의 퍼블릭 IP 주소로 트래픽을 라우팅해야 합니다. `bncert` 도구는 현재 WordPress 인스턴스의 퍼블릭 IP 주소로 트래픽을 연결하는 도메인에 대해서만 인증서를 발급합니다.

## 3단계: 인스턴스에 연결
<a name="https-wordpress-connect-to-instance"></a>

Lightsail 콘솔에서 브라우저 기반 SSH 클라이언트를 사용하여 인스턴스에 연결하려면 다음 단계를 완료하세요.

1. [Lightsail 콘솔](https://lightsail.aws.amazon.com/)에 로그인합니다.

1. 왼쪽 탐색 창에서 WordPress 인스턴스에 대한 SSH 빠른 연결 아이콘을 선택합니다.  
![\[Lightsail 홈 페이지의 SSH 빠른 연결.\]](http://docs.aws.amazon.com/ko_kr/lightsail/latest/userguide/images/amazon-lightsail-wordpress-ssh-quick-connect.png)

   브라우저 기반 SSH 클라이언트 터미널 창이 열립니다. 다음 예와 같이 Bitnami 로고가 표시되면 SSH를 통해 인스턴스에 성공적으로 연결된 것입니다.  
![\[Lightsail 콘솔의 브라우저 기반 SSH 클라이언트 터미널 창.\]](http://docs.aws.amazon.com/ko_kr/lightsail/latest/userguide/images/amazon-lightsail-ssh-session-bncert.png)

## 4단계: 인스턴스에 bncert 도구 설치 여부 확인
<a name="https-wordpress-bncert-install"></a>

Bitnami HTTPS 구성 도구(`bncert`)가 인스턴스에 설치되었는지 확인하려면 다음 단계를 완료하세요. 생성 시 모든 *Bitnami 인증* WordPress 인스턴스에 미리 설치되어 있지 않습니다. 이전에 Lightsail에서 생성된 WordPress 인스턴스를 사용하면 `bncert` 도구를 수동으로 설치해야 합니다. 이 절차에는 도구가 설치되지 않은 경우 도구를 설치하는 단계가 포함되어 있습니다.



1. 다음 명령을 입력하여 `bncert` 도구를 실행합니다.

   ```
   sudo /opt/bitnami/bncert-tool
   ```
   + 다음 예와 같이 응답에 `command not found`가 표시되는 경우, `bncert` 도구가 인스턴스에 설치되지 않은 것입니다. 이 절차의 다음 단계를 계속 진행하여 인스턴스에 `bncert` 도구를 설치합니다.
**중요**  
`bncert` 도구는 *Bitnami 인증* WordPress 인스턴스에서만 사용할 수 있습니다. 또는 Certbot 도구를 사용하여 WordPress 인스턴스에서 HTTPS를 활성화할 수 있습니다. 자세한 내용은 [자습서: WordPress 인스턴스와 함께 Let's Encrypt SSL 인증서 사용](amazon-lightsail-using-lets-encrypt-certificates-with-wordpress.md)을 참조하세요.  
![\[bncert 도구가 설치되지 않았음을 확인하는 메시지\]](http://docs.aws.amazon.com/ko_kr/lightsail/latest/userguide/images/run-bncert-tool-fail.png)
   + 다음 예와 같이 응답에 `Welcome to the Bitnami HTTPS configuration tool`이 표시되는 경우, `bncert` 도구가 인스턴스에 설치된 것입니다. 이 가이드의 [5단계: WordPress 인스턴스에서 HTTPS 활성화](#https-wordpress-enable) 섹션을 이어서 진행합니다.  
![\[bncert 도구가 설치되었음을 확인하는 메시지\]](http://docs.aws.amazon.com/ko_kr/lightsail/latest/userguide/images/run-bncert-tool-success.png)

1. 다음 명령을 입력하여 `bncert` 실행 파일을 인스턴스로 다운로드합니다.

   ```
   wget -O bncert-linux-x64.run https://downloads.bitnami.com/files/bncert/latest/bncert-linux-x64.run
   ```

1. 다음 명령을 입력하여 인스턴스에서 `bncert` 실행 파일의 디렉터리를 생성합니다.

   ```
   sudo mkdir /opt/bitnami/bncert
   ```

1. 다음 명령을 입력하여 다운로드한 `bncert` 실행 파일을 생성한 새 디렉터리로 이동합니다.

   ```
   sudo mv bncert-linux-x64.run /opt/bitnami/bncert/
   ```

1. 다음 명령을 입력하여 `bncert`에서 프로그램으로 실행할 수 있는 파일을 실행하도록 합니다.

   ```
   sudo chmod +x /opt/bitnami/bncert/bncert-linux-x64.run
   ```

1. 다음 명령을 입력하여 `sudo /opt/bitnami/bncert-tool` 명령을 입력할 때 `bncert` 도구를 실행하는 심볼 링크를 생성합니다.

   ```
   sudo ln -s /opt/bitnami/bncert/bncert-linux-x64.run /opt/bitnami/bncert-tool
   ```

   이제 인스턴스에 `bncert` 도구를 설치했습니다. 이 가이드의 [5단계: WordPress 인스턴스에서 HTTPS 활성화](#https-wordpress-enable) 섹션을 이어서 진행합니다.

## 5단계: WordPress 인스턴스에서 HTTPS 활성화
<a name="https-wordpress-enable"></a>

`bncert` 도구가 사용자의 인스턴스에 설치되었는지 확인한 후 다음 절차를 완료하여 WordPress 인스턴스에서 HTTPS를 활성화합니다.

1. 다음 명령을 입력하여 `bncert` 도구를 실행합니다.

   ```
   sudo /opt/bitnami/bncert-tool
   ```

   다음 예와 비슷한 메시지가 나타나는 것을 볼 수 있습니다.  
![\[bncert 도구 실행\]](http://docs.aws.amazon.com/ko_kr/lightsail/latest/userguide/images/run-bncert-tool-success.png)

   `bncert` 도구가 일시적으로 인스턴스에 설치된 경우, 업데이트된 버전의 도구를 사용할 수 있다는 메시지가 표시될 수 있습니다. 다음 예와 같이 다운로드하도록 선택하고 `sudo /opt/bitnami/bncert-tool` 명령을 입력하여 `bncert` 도구를 다시 실행합니다.  
![\[bncert 도구의 새 버전을 사용할 수 있음을 나타내는 메시지\]](http://docs.aws.amazon.com/ko_kr/lightsail/latest/userguide/images/bncert-update-required.png)

1. 다음 예와 같이 기본 도메인 이름과 대체 도메인 이름을 공백으로 구분하여 입력합니다.

   도메인이 트래픽을 인스턴스의 퍼블릭 IP 주소로 라우팅하도록 구성되지 않은 경우, `bncert` 도구에서 계속하기 전에 해당 구성을 설정하라는 메시지를 표시합니다. 도메인은 `bncert` 도구를 사용하여 인스턴스에서 HTTPS를 활성화한 인스턴스의 퍼블릭 IP 주소로 트래픽을 라우팅해야 합니다. 이렇게 해야 도메인을 소유하고 있음을 확인하고 인증서를 검증하는 역할을 할 수 있습니다.  
![\[기본 도메인 이름 및 대체 도메인 이름 입력\]](http://docs.aws.amazon.com/ko_kr/lightsail/latest/userguide/images/bncert-domain-names.png)

1. `bncert` 도구는 웹 사이트의 리디렉션을 어떻게 구성할지 묻는 메시지를 표시합니다. 사용할 수 있는 옵션은 다음과 같습니다.
   + **HTTP에서 HTTPS로 리디렉션 활성화(Enable HTTP to HTTPS redirection)** - HTTP 버전 웹 사이트(예: `http:/example.com`)를 방문하는 사용자를 HTTPS 버전(예: `https://example.com`)으로 자동 리디렉션할지 지정합니다. 모든 방문자가 암호화된 연결을 사용하도록 강제하기 때문에 이 옵션을 활성화하는 것이 좋습니다. `Y`를 입력하고 **Enter** 키를 눌러 활성화합니다.
   + **비 www에서 www로 리디렉션 활성화(Enable non-www to www redirection)** - 도메인의 정점(`https://example.com`)을 방문하는 사용자를 도메인의 `www` 하위 도메인(`https://www.example.com`)으로 자동 리디렉션할지 지정합니다. 이 옵션은 활성화하는 것이 좋습니다. 그러나 Google의 웹 마스터 도구와 같은 검색 엔진 도구에서 도메인의 정점을 기본 웹 사이트 주소로 지정했거나 정점이 IP를 직접 가리키고 `www` 하위 도메인이 CNAME 레코드를 통해 정점을 참조하는 경우, 이 옵션을 비활성화하고 대체 옵션(`www`에서 비 `www`로 리디렉션 활성화)을 활성화할 수 있습니다. `Y`를 입력하고 **Enter** 키를 눌러 활성화합니다.
   + **www에서 비 www로 리디렉션 활성화(Enable www to non-www redirection)** - 도메인의 `www` 하위 도메인(`https://www.example.com`)을 방문하는 사용자를 도메인의 정점(`https://example.com`)으로 자동 리디렉션할지 지정합니다. 비 `www`에서 `www`로 리디렉션을 활성화한 경우 이 옵션을 비활성화하는 것이 좋습니다. `N`를 입력하고 **Enter** 키를 눌러 비활성화합니다.

   선택한 내용은 다음 예와 같아야 합니다.  
![\[웹 사이트 리디렉션 옵션\]](http://docs.aws.amazon.com/ko_kr/lightsail/latest/userguide/images/bncert-enable-disable-redirection.png)

1. 적용될 변경 사항의 목록이 나열됩니다. `Y`를 입력하고 **Enter** 키를 눌러 확인하고 계속합니다.  
![\[변경 내용 확인\]](http://docs.aws.amazon.com/ko_kr/lightsail/latest/userguide/images/bncert-confirm-changes.png)

1. Let's Encrypt 인증서에 연결할 이메일 주소를 입력하고 **Enter** 키를 누릅니다.  
![\[Let's Encrypt 인증서에 이메일 주소 연결\]](http://docs.aws.amazon.com/ko_kr/lightsail/latest/userguide/images/bncert-email-address.png)

1. Let's Encrypt 구독자 계약을 검토합니다. `Y`를 입력하고 **Enter** 키를 눌러 계약을 수락하고 계속합니다.  
![\[Let's Encrypt 구독자 계약 검토\]](http://docs.aws.amazon.com/ko_kr/lightsail/latest/userguide/images/bncert-lets-ecrypt-agreement.png)

   인증서 요청 및 지정한 리디렉션 구성을 비롯하여 인스턴스에서 HTTPS를 활성화하는 작업이 수행됩니다.  
![\[수행 중인 작업\]](http://docs.aws.amazon.com/ko_kr/lightsail/latest/userguide/images/bncert-performing-actions.png)

   인증서가 성공적으로 발급되고 검증됩니다. 다음 예와 유사한 메시지가 표시되면 인스턴스에서 리디렉션이 성공적으로 구성된 것입니다.  
![\[성공적으로 완료된 작업\]](http://docs.aws.amazon.com/ko_kr/lightsail/latest/userguide/images/bncert-success-conf.png)

   `bncert` 도구는 인증서가 만료되기 80일 전마다 인증서를 자동으로 갱신합니다. 인스턴스와 함께 추가 도메인 및 하위 도메인을 사용하고 이러한 도메인에서 HTTPS를 활성화하려면 위의 단계를 반복합니다.

   이제 WordPress 인스턴스에서 HTTPS가 활성화되었습니다. 이 가이드의 [6단계: 웹 사이트에서 HTTPS 사용 여부 테스트](#test-https-on-your-website) 섹션을 이어서 진행합니다.

## 6단계: 웹 사이트에서 HTTPS 사용 여부 테스트
<a name="test-https-on-your-website"></a>

WordPress 인스턴스에서 HTTPS를 활성화한 후에는 `bncert` 도구를 사용할 때 지정한 모든 도메인을 방문하여 웹 사이트에서 HTTPS를 사용하고 있는지 확인해야 합니다. 각 도메인을 방문하면 다음 예와 같이 도메인에서 보안 연결을 사용하는지 표시됩니다.

**참고**  
변경 내용을 확인하려면 브라우저의 캐시를 새로 고치고 지워야 할 수 있습니다.

![\[보안 웹 사이트 확인\]](http://docs.aws.amazon.com/ko_kr/lightsail/latest/userguide/images/bncert-secured-website.png)


`bncert` 도구를 실행할 때 선택한 옵션에 따라 비 `www` 주소가 도메인의 `www` 하위 도메인으로 리디렉션되거나 그 반대로 리디렉션될 수도 있습니다.