NGINX에 https 설정 (Let’s Encrypt 인증서)


📖워드프레스로 웹 사이트 만들기 » 2부 워드프레스 설치 » 워드프레스 설치 » 우분투 LEMP스택에 워드프레스 설치 » NGINX에 https 설정 (Let’s Encrypt 인증서)


1.Let’s Encrypt설치 + nginx ssl 설정

1. Certbot 설치

cerbot는 ssl인증서 설치 프로그램이다. apt 에 있는 CertBot 패키지도 있지만 업데이트가 뜸한 편이라 레포지토리를 등록한 후 cerbot를 설치한다.

sudo apt update

# 리포지토리 등록
sudo add-apt-repository ppa:certbot/certbot

# cerbot 설치 
sudo apt install python3-certbot-nginx

2. SSL 인증서 발급받기

aaa.com대신 원하는 도메인을 입력한다.

sudo certbot --nginx -d aaa.com

이메일을 입력(긴급 리뉴얼이나 보안 공지를 보내준다)하고, 약관에 A 눌러 동의한다. 이메일 공유할지에 대해 공유 안 하려면 N를 누룬다. 기존 http 연결에 대해 리다이렉트할지 물어보는데, 2를 눌러서 자동으로 리다이렉트하게한다.

  • 1: 자동으로 https 로 리다이렉트 하지 않는다
  • 2: 자동으로 https로 리다이렉트한다.

2를 입력하고 엔터키를 누른다.

nginx 를 재 시작한다.

sudo nginx -s reload 

nginx ssl 설정을 건드릴 필여 없다. 알아서 다 바꿔주었다.

CertBot으로 만들어진 인증서는, 90일마다 갱신해주어야하는데, 이것도 자동으로 갱신되도록 스케줄러에 등록해주었다

설치를 하는 과정에서, /etc/cron.d에 자동으로 갱신 시켜주는 커맨드가 추가되어 있다.

만약 테스트를 해보고 싶다면 아래 명령어를 쳐본다

sudo certbot renew --dry-run

2. 아마존 라이트세일 인스턴스 레벨에서 방화벽 포트열기

https 가 적용되었지만 https 로 접속이 안된다. https 에 대한 방화벽을 열어야한다.

1.인스턴스를 선택하고 네트워크탭을 누른다.

방화벽이 다음과 같이 https 가 없을 것이다.

아마존 라이트세일 방화벽 https 없음

2. ‘+ 규칙추가’를 클릭해 https 를 선택하고 저장하면 된다.

해당 인스턴스를 누르고 네트워크에서 https 를 추가한다.

아마존 라이트세일 방화벽 https

이제 https 로 접속할 수 있다.

워드프레스. 주소 변경

https 로 접속할 수있는데, 사이트의 화면이 깨져나올 수 있다. 만약 워드프레스를 다 설치한 후에 https를 적용했으면 발생한다.

사이트 설정을 처음에 http 로 했기 때문이다. 관리자 화면에 들어가서 설정 > 일반에 보면 워드프레스 주소와 사이트 주소가 있는데 여기를 https로 바꾸면 된다. 아니면 워드프레스 관리자 화면의 도구에 사이트 건강이라는 메뉴가 있는데, 여기서 ‘HTTPS를 사용하려면 사이트를 업데이트 하세요’ 버튼을 누르면 바꿔준다 .

워드프레스 사이트건강 웹사이트가 https를 사용하지 않습니다
워드프레스 사이트건강 웹사이트가 https를 사용하지 않습니다

이제 https 로 접속하면 정상적으로 보일 것이다.