Amazon Lightsail에서 WordPress 인스턴스와 함께 SSL 인증서 암호화하기

Using Let’s Encrypt SSL certificates with your WordPress instance in Amazon Lightsail

 

아마존 라이트세일에서 워드프레스 SSL 인증서 적용하는 법을 쓴다.

참고로 이 방법으로 하여, 나의 사이트를 실제로 적용하였다.

https://tourenjoy.co.kr 에서 확인해보면 된다.


 

1 단계: 필수 구성 요소 완료

아직 수행하지 않은 경우 다음 전제 조건을 완료하십시오.

전제 조건을 완료 한 후이 학습서 의 다음 섹션 으로 진행하십시오.


 

2 단계 : Lightsail 인스턴스에 Certbot 설치

Certbot은 Let ‘s Encrypt에서 인증서를 요청하여 웹 서버에 배포하는 데 사용되는 클라이언트입니다. Let ‘s Encrypt는 ACME 프로토콜을 사용하여 인증서를 발급하고 Certbot은 Let ‘s Encrypt와 상호 작용하는 ACME 가능 클라이언트입니다.

Lightsail 인스턴스에 Certbot을 설치하려면

  1. Lightsail 콘솔에 로그인합니다 .

  2. Lightsail 홈 페이지에서 연결하려는 인스턴스의 SSH 빠른 연결 아이콘을 선택하십시오.

3. Lightsail 브라우저 기반 SSH 세션이 연결된 후 다음 명령을 입력하여 인스턴스의 패키지를 업데이트하십시오.

sudo apt-get update

4. 다음 명령을 입력하여 소프트웨어 특성 패키지를 설치하십시오. Certbot의 개발자는 PPA (Personal Package Archive)를 사용하여 Certbot을 배포합니다. 소프트웨어 속성 패키지를 사용하면 PPA를보다 효율적으로 사용할 수 있습니다.

sudo apt-get install software-properties-common

(노트)

당신이 발생하는 경우 Could not get lock실행시 오류가 sudo apt-get install명령을, 약 15 분 정도 기다렸다가 다시 시도하십시오. 이 오류는 Apt 패키지 관리 도구를 사용하여 무인 업그레이드를 설치하는 크론 작업으로 인해 발생할 수 있습니다.

5. 다음 명령을 입력하여 Certbot을 로컬 apt 저장소에 추가하십시오.

sudo apt-add-repository ppa:certbot/certbot -y

6. 다음 명령을 입력하여 새 저장소를 포함하도록 apt를 업데이트하십시오.

sudo apt-get update -y

7. Certbot을 설치하려면 다음 명령을 입력하십시오.

sudo apt-get install certbot -y

Certbot이 이제 Lightsail 인스턴스에 설치되었습니다.

8. 브라우저 기반 SSH 터미널 창을 열어 두십시오.이 자습서의 뒷부분으로 돌아갑니다. 이 학습서 의 다음 섹션 으로 계속 진행하십시오 .


 

3 단계 : SSL 암호화 와일드 카드 인증서 요청

Let ‘s Encrypt에서 인증서 요청 프로세스를 시작하십시오. Certbot을 사용하여 와일드 카드 인증서를 요청하면 도메인 및 해당 하위 도메인에 단일 인증서를 사용할 수 있습니다. 예를 들어 단일 와일드 카드 인증서는 example.com최상위 도메인과 blog.example.com, 및 stuff.example.com 하위 도메인에 작동합니다.

SSL 암호화 와일드 카드 인증서를 요청하려면

  1. 이 학습서의 2 단계 에서 사용 된 동일한 브라우저 기반 SSH 터미널 창 에서 다음 명령을 입력하여 도메인의 환경 변수를 설정하십시오. 이제보다 효율적으로 명령을 복사하여 붙여 넣어 인증서를 얻을 수 있습니다. domain등록 된 도메인의 이름 으로 바꾸십시오 .

    DOMAIN=domain    <<-- 나의 도메인을 입력한다.  DOMAIN=example.com
    WILDCARD=*.$DOMAIN

    예:

    DOMAIN=example.com
    WILDCARD=*.$DOMAIN
  2. 변수가 올바른 값을 리턴하는지 확인하려면 다음 명령을 입력하십시오.

    echo $DOMAIN && echo $WILDCARD

    다음과 유사한 결과가 나타납니다.

  3. 대화식 모드에서 Certbot을 시작하려면 다음 명령을 입력하십시오. 이 명령은 Certbot에게 DNS 소유권과 함께 수동 권한 부여 방법을 사용하여 도메인 소유권을 확인하도록 지시합니다. 최상위 도메인과 하위 도메인에 대한 와일드 카드 인증서를 요청합니다.

    sudo certbot -d $DOMAIN -d $WILDCARD --manual --preferred-challenges dns certonly
  4. 메시지가 표시되면 갱신 및 보안 공지에 사용되므로 이메일 주소를 입력하십시오.

  5. Let ‘s Encrypt 서비스 약관을 읽으십시오. 완료되면 동의하면 A를 누르십시오. 동의하지 않으면 Let ‘s Encrypt 인증서를 얻을 수 없습니다.

  6. 이메일 주소 공유 프롬프트와 기록중인 IP 주소에 대한 경고에 따라 응답하십시오.

  7. 암호화하자 이제 지정한 도메인을 소유하고 있는지 확인하라는 메시지가 표시됩니다. TXT 레코드를 도메인의 DNS 레코드에 추가하면됩니다. 다음 예와 같이 TXT 레코드 값 세트가 제공됩니다.

    노트

    암호화하자 확인에 사용해야하는 하나 또는 여러 개의 TXT 레코드를 제공 할 수 있습니다. 이 예에서는 검증에 사용할 두 개의 TXT 레코드가 제공되었습니다.

  8. Lightsail 브라우저 기반 SSH 세션을 열어 두십시오.이 자습서의 뒷부분으로 돌아갑니다. 이 학습서 의 다음 섹션 으로 계속 진행하십시오 .


4 단계 : Lightsail에서 도메인의 DNS 영역에 TXT 레코드 추가

TXT 레코드를 도메인의 DNS 영역에 추가하면 도메인을 소유하고 있는지 확인합니다. 데모 목적으로 Lightsail DNS 영역을 사용합니다. 그러나 일반적으로 도메인 등록 기관에서 호스팅하는 다른 DNS 영역의 경우 단계가 비슷할 수 있습니다.

(노트)

도메인에 대한 Lightsail DNS 영역을 생성하는 방법에 대한 자세한 내용은 Amazon Lightsail에서 도메인의 DNS 레코드를 관리하기위한 DNS 영역 생성 단원을 참조하십시오 .

Lightsail에서 도메인의 DNS 영역에 TXT 레코드를 추가하려면

  1. Lightsail 홈 페이지에서 네트워킹 탭을 선택 하십시오.

  2. 페이지 의 DNS 영역 섹션에서 Certbot 인증서 요청에 지정한 도메인의 DNS 영역을 선택하십시오.

  3. DNS 영역 편집기에서 레코드 추가를 선택 하십시오 .

  4. 레코드 유형 드롭 다운 메뉴에서 TXT 레코드를 선택하십시오 .

  5. 다음 스크린 샷에 표시된대로 인증서 암호화 요청 요청에 의해 지정된 값을 서브 도메인 에 응답하고 필드를 사용 하여 응답 하십시오.

  6. 저장 아이콘을 선택하십시오.

  7. 3-6 단계를 반복하여 인증서 암호화하자 요청에 의해 지정된 두 번째 TXT 레코드 세트를 추가하십시오.

  8. Lightsail 콘솔 브라우저 창을 열어 두십시오.이 자습서의 뒷부분으로 돌아갑니다. 이 학습서 의 다음 섹션 으로 계속 진행하십시오 .


5 단계 : TXT 레코드가 전파되었는지 확인

TXT 레코드가 인터넷의 DNS로 전파되었는지 확인하려면 MxToolbox 유틸리티를 사용하십시오. DNS 호스팅 공급자 및 DNS 레코드의 구성된 TTL (Time to Live)에 따라 DNS 레코드 전파에 시간이 걸릴 수 있습니다. Certbot 인증서 요청을 계속하기 전에이 단계를 완료하고 TXT 레코드가 전파되었는지 확인하는 것이 중요합니다. 그렇지 않으면 인증서 요청이 실패합니다.

TXT 레코드가 인터넷의 DNS로 전파되었음을 확인하려면

  1. 새 브라우저 창을 열고 https://mxtoolbox.com/TXTLookup.aspx 로 이동 하십시오 .

  2. 텍스트 상자에 다음 텍스트를 입력하십시오. domain도메인 으로 교체 하십시오.

    _acme-challenge.domain

    예:

    _acme-challenge.example.com

  3. TXT 조회 를 선택 하여 점검을 실행하십시오.

  4. 다음 응답 중 하나가 발생합니다.

    • TXT 레코드가 인터넷의 DNS로 전파 된 경우 다음 스크린 샷에 표시된 것과 유사한 응답이 표시됩니다. 브라우저 창을 닫고이 학습서 의 다음 섹션 으로 계속 진행하십시오 .

    • TXT 레코드가 인터넷의 DNS로 전파되지 않은 경우 DNS 레코드를 찾을 수 없음 응답이 표시됩니다. 도메인의 DNS 영역에 올바른 DNS 레코드를 추가했는지 확인하십시오. 올바른 레코드를 추가 한 경우 도메인의 DNS 레코드가 전파 될 때까지 잠시 기다렸다가 TXT 조회를 다시 실행하십시오.


6 단계 : SSL 인증서 암호화 요청을 완료하십시오.

WordPress 인스턴스의 Lightsail 브라우저 기반 SSH 세션으로 돌아가서 Let ‘s Encrypt 인증서 요청을 완료하십시오. Certbot은 SSL 인증서, 체인 및 키 파일을 WordPress 인스턴스의 특정 디렉토리에 저장합니다.

SSL 인증서 암호화하자 요청을 완료하려면

  1. WordPress 인스턴스의 Lightsail 브라우저 기반 SSH 세션에서 Enter 를 눌러 SSL 인증서 암호화 요청을 계속하십시오. 성공하면 다음 스크린 샷에 표시된 것과 유사한 응답이 나타납니다.


    The message confirms that your certificate, chain, and key files are stored in the
    /etc/letsencrypt/live/domain/
    directory.
    이 메시지는 인증서, 체인 및 키 파일이 / etc / letsencrypt / live / domain / 디렉토리에 저장되었음을 확인합니다. /etc/letsencrypt/live/example.com/과 같은 도메인으로 도메인을 교체해야합니다.

    Make sure to replace domain with your domain, such as
    /etc/letsencrypt/live/example.com/.
    도메인을 도메인으로 교체하십시오
    (예 :
    /etc/letsencrypt/live/example.com/.

  2. 메시지에 지정된 만료 날짜를 기록해 두십시오. 해당 날짜까지 인증서를 갱신하는 데 사용합니다.

  3. Let ‘s Encrypt SSL 인증서가 있으므로이 학습서 의 다음 섹션 으로 계속 진행하십시오 .


WordPress 인스턴스의 Apache 서버 디렉토리에 SSL 인증서 파일 암호화에 대한 링크를 작성하십시오. 또한 나중에 필요한 경우 기존 인증서를 백업하십시오.

Apache 서버 디렉토리에 인증서 파일을 암호화하도록하자 링크를 작성하려면

  1. WordPress 인스턴스의 Lightsail 브라우저 기반 SSH 세션에서 다음 명령을 입력하여 기본 서비스를 중지하십시오.

    sudo /opt/bitnami/ctlscript.sh stop

    다음과 유사한 응답이 나타납니다.

  2. 도메인의 환경 변수를 설정하려면 다음 명령을 입력하십시오. 인증서 파일을 연결하는 명령을보다 효율적으로 복사하여 붙여 넣을 수 있습니다. domain등록 된 도메인 이름 으로 바꾸십시오 .

    DOMAIN=domain      <<-- 나의 도메인을 입력한다.  DOMAIN=example.com

    예:

    DOMAIN=example.com
  3. 변수가 올바른 값을 리턴하는지 확인하려면 다음 명령을 입력하십시오.

    echo $DOMAIN

    다음과 유사한 결과가 나타납니다.

  4. 다음 명령을 개별적으로 입력하여 기존 인증서 파일의 이름을 백업으로 바꾸십시오 (있는 경우).

    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
  5. 다음 명령을 개별적으로 입력하여 Apache 디렉토리에 Let ‘s Encrypt 인증서 파일에 대한 링크를 작성하십시오.

    sudo ln -s /etc/letsencrypt/live/$DOMAIN/privkey.pem /opt/bitnami/apache2/conf/server.key
    sudo ln -s /etc/letsencrypt/live/$DOMAIN/fullchain.pem /opt/bitnami/apache2/conf/server.crt
  6. 이전에 중지 한 기본 서비스를 시작하려면 다음 명령을 입력하십시오.

    sudo /opt/bitnami/ctlscript.sh start

    다음과 유사한 결과가 나타납니다.


    WordPress 인스턴스의 SSL 인증서 파일이 이제 올바른 디렉토리에 있습니다.

  7. 이 학습서 의 다음 섹션 으로 계속 진행하십시오 .


8 단계 : Really Simple SSL 플러그인을 사용하여 SSL 인증서를 WordPress 사이트와 통합

Really Simple SSL 플러그인을 WordPress 사이트에 설치하고이를 사용하여 SSL 인증서를 통합하십시오. Really Simple SSL은 또한 사이트를 방문하는 사용자가 항상 HTTPS 연결을 유지할 수 있도록 HTTP에서 HTTPS 로의 리디렉션을 구성합니다.

Really Simple SSL 플러그인을 사용하여 SSL 인증서를 WordPress 사이트와 통합하려면

  1. WordPress 인스턴스의 Lightsail 브라우저 기반 SSH 세션에서 다음 명령을 입력하여 wp-config.php 파일을 쓰기 가능으로 설정하십시오. Really Simple SSL 플러그인은 인증서를 구성하기 위해 wp-config.php 파일에 기록합니다.

    sudo chmod 666 /opt/bitnami/apps/wordpress/htdocs/wp-config.php
  2. 새 브라우저 창을 열고 WordPress 인스턴스의 관리 대시 보드에 로그인하십시오.

    (노트)

    자세한 내용 은 Amazon Lightsail에서 ‘Powered by Bitnami’인스턴스의 애플리케이션 사용자 이름 및 비밀번호 얻기를 참조하십시오 .

  3. 왼쪽 네비게이션 창에서 플러그인 을 선택합니다 .

  4. 플러그인 페이지 상단에서 새로 추가를 선택 하십시오.

  5. 정말 간단한 SSL을 검색하십시오 .

  6. 검색 결과에서 Really Simple SSL 플러그인 옆에있는 지금 설치를 선택하십시오 .

  7. 설치가 완료되면 활성화를 선택하십시오 .

  8. 표시되는 프롬프트에서 계속 진행, SSL 활성화!를 선택하십시오 WordPress 인스턴스의 관리 대시 보드에 대한 로그인 페이지로 리디렉션 될 수 있습니다.

    이제 WordPress 인스턴스가 SSL 암호화를 사용하도록 구성되었습니다. 또한 WordPress 인스턴스는 이제 HTTP에서 HTTPS로 연결을 자동으로 리디렉션하도록 구성되었습니다. 방문자가로 이동하면 http://example.com자동으로 암호화 된 HTTPS 연결 (예 :)로 리디렉션됩니다 https://example.com.


9 단계 : 90 일마다 인증서를 암호화하도록 Let ‘s Encrypt 인증서

인증서 암호화는 90 일 동안 유효합니다. 인증서는 만료 30 일 전에 갱신 할 수 있습니다. Let ‘s Encrypt 인증서를 갱신하려면 인증서를 얻는 데 사용 된 원래 명령을 실행하십시오. 이 학습서의 SSL 암호화 와일드 카드 인증서 요청 섹션의 단계를 반복하십시오 .


출처:AWS

 

 

 

LEAVE A REPLY

Please enter your comment!
Please enter your name here