• 방명록을 남겨 주세요 :-) 일주일 동안 열지 않기
  • 다크모드 ↔ 라이트모드 변경 방법 일주일 동안 열지 않기

깨알팁

팁 게시판입니다.
  • 목록
  • 아래로
  • 위로
  • 댓글 0개
  • 검색
  • 라이트모드

웹팁 Ubuntu 18.04에서 Let's Encrypt (무료 SSL 인증서) 설치 - AWS Lightsail

이윰
423 0 0

소개

Lightsail (라이트 세일)은 로드밸런서를 이용하면 쉽게 무료 인증서를 적용할 수 있지만, 이 글은 로드밸런서를 사용하지 않는 경우 Let's Encrypt 무료 SSL 인증서를 적용하는 방법입니다.

 

준비사항

이것을 적용하려면 다음이 준비되어 있어야 합니다.

  • 1. 등록된 도메인 이름 예) example.com

이 포스팅에서는 도메인 이름의 예시를 example.com로 합니다. 이 부분을 자신에 맞게 변경해야 합니다.

Route 53에서 도메인을 구입하거나, 원하는 도메인 등록 기관을 이용합니다.

  • 2. DNS 레코드가 모두 설정되어 있어야 합니다.

Lightsail (라이트 세일)에서 도메인(DNS) 설정방법 with Route53
호스팅 업체에서 구입한 도메인을 사용한다면 이미 매핑이 되었기 때문에 따로 적용할 것은 없습니다.

 

1. 루트 로그인합니다. 루트 로그인 명령어는 다음과 같습니다.

$ su
패스워드를 입력하고 루트로 로그인합니다.

 

2. 가상 호스트 파일 만들기

# vi /etc/apache2/sites-available/example.com.conf
새 파일(example.com.conf)을 만듭니다. 에디터 모드로 전환 (명령어: i) 하여 다음 내용을 추가하고 저장(:wq) 합니다.
<VirtualHost *:80>
ServerAdmin admin@example.com
ServerName example.com
ServerAlias www.example.com
DocumentRoot /var/www/html 
ErrorLog ${APACHE_LOG_DIR}/error.log
CustomLog ${APACHE_LOG_DIR}/access.log combined
</VirtualHost>

3. Certbot 설치

# add-apt-repository ppa:certbot/certbot

Enter를 눌러 수락합니다.

# apt install python-certbot-apache

위 명령어를 사용하여 Certbot의 Apache 패키지를 설치합니다.

 

4. a2ensite로 위에서 편집했던 파일을 활성화

# a2ensite example.com.conf

5. 000-default.conf 파일은 비활성화합니다.

# a2dissite 000-default.conf

6. 구성 오류를 테스트

# apache2ctl configtest

오류가 발생하면 누락되었거나 오타가 난 문자가 있는지 확인합니다.
정상이면 다음과 같이 출력됩니다.

구성 오류 테스트

오류를 뿜지 않았다면 리로드합니다.

# systemctl restart apache2

7. 방화벽에서 HTTPS를 열어 줍니다.

Lightsail에서는
인스턴스> 네트워킹> 방화벽에서 HTTPS 443 포트를 추가하면 됩니다.

 

8. 인증서 받기

# certbot --apache -d example.com -d www.example.com

처음 certbot을 실행하는 경우 이메일 주소를 입력해야 합니다. 이메일 주소를 입력하고 Enter를 누릅니다.
서비스 약관에 동의 a를 입력하고 Enter를 누릅니다.
이메일로 알림을 받으려면 y를 누릅니다. (선택사항)
이 과정이 약간의 통신 시간을 거쳐 다음과 같은 구성을 선택할 수 있는 화면이 나옵니다.인증서 받기

  1. 리디렉션 없음 - 웹 서버 구성을 더 이상 변경하지 않습니다.
  2. 리디렉션 - 모든 요청을 보안 HTTPS 액세스로 리디렉션합니다.

본인에게 맞는 항목의 숫자를 입력하고 Enter를 누릅니다.

 

9. 인증서 발급 완료

인증서가 발급이 완료되면 '축하'의 메시지가 나오고 인증서 저장 경로를 확인할 수 있습니다.인증서 발급이 완료

10. 인증서 갱신

갱신 프로세스 테스트

# certbot renew --dry-run

문제가 없다면 갱신을 실행합니다.

# certbot renew

Let's Encrypt의 인증서는 90 일 동안 만 유효합니다. 3개월마다 인증서 갱신은 꽤 귀찮은 일입니다.
자동갱신이 되도록 스크립트를 추가합니다.

# crontab -e
0 0 * * * certbot renew > /var/log/certbot_renewal.log

이제 매일 0시 0분에 리뉴얼 스크립트를 실행하고 certbot_renewal.log에 기록하게 됩니다.

 

11. 인증서 작동 확인

https로 접속해서 확인합니다.

 

참고) https://www.sslshopper.com/ssl-checker.html - 여기에서 인증서 설치 적용이 잘 되었는지 확인해 볼 수 있습니다.

신고공유스크랩

댓글 0

댓글 쓰기
권한이 없습니다. 로그인

신고

"님의 댓글"

이 댓글을 신고하시겠습니까?

댓글 삭제

"님의 댓글"

이 댓글을 삭제하시겠습니까?

공유

퍼머링크
제목 조회 수
0
image
63
0
image
291
0
normal
39
0
normal
114
+1
normal
168
0
normal
224
+1
image
342
+2
image
362
+4
normal
1102
+1
image
268
+1
image
228
0
normal
176
0
normal
200
+1
normal
1045
+1
normal
128
+5
image
253
+1
normal
245
+2
normal
1821
+1
image
298
+1
normal
314