Let's Encrypt
Let's Encrypt 는 SSL 인증서를 무료로 발급해주는 CA(Certificate Authorities)이다.
Certbot
Let’s Encrypt의 SSL인증서는 ACME 프로토콜을 준수하는 프로그램을 이용해 발급을 받을 수 있는데 Let’s Encyrpt는 Cerbot 사용을 권장하고 있다.
우분투 에서 제공하는 Certbot 패키지가 이미 존재하지만, 오래된 버전이다.
따라서 레포지토리를 이용해 설치를 할 것이다.
$ sudo add-apt-repository ppa:certbot/certbot
Certbot의 Nginx 패키지 설치
$ sudo apt install python-certbot-nginx
SSL 인증서
Certbot은 다양한 플러그인을 통해 SSL 인증서를 획득하는 다양한 방법을 제공한다.
Nginx플러그인은 필요할 때마다 Nginx를 재구성하고 구성을 다시 로드한다.
$ sudo certbot --nginx -d jyeon.shop -d www.jyeon.shop
이메일을 입력하라는 명령이 나오면, 입력하고 여러 질문에 yes / no 로 대답하면 된다.
또한 다음과 같은 두 가지 선택사항이 나온다.
1 : HTTP 연결을 HTTPS로 리다이렉트 하지 않음
2 : HTTP연결을 HTTPS로 리다이렉트함
모든 http 연결을 https로 리다이렉트 하도록 2번을 선택했다.
https 설정이 모두 완료되었다!
ssllabs.com/ssltest/ 에서 테스트를 해보자.
처음에는 오류가 발생하는데, 이는 EC2 보안그룹에서 SSL 에 대한 인바운드 규칙을 설정하지 않았기 때문이다.
다음과 같이 HTTPS 에 대한 인바운드 규칙을 설정해주고 나서 다시 테스트를 해보았다.
잘된다!!ㅎㅎ
이제 http://도메인을 입력해도 다음과 같이 자동으로 https 로 리다이렉트 된다.
도메인 옆에 있는 자물쇠 모양이 https 를 뜻한다!
Certbot 자동 갱신 확인
Let's Encrypt의 인증서는 90일 동안만 유효하므로, 90일마다 갱신해줘야 한다.
그러나 나는 certbot 패키지를 설치하였기 때문에 이미 갱신에 대한 자동화가 설정되어있다.
/etc/cron.d 내의 스크립트는 하루 두번씩 실행되어 만료일까지 30일 이내의 모든 인증서를 자동으로 갱신 시킬 수 있습니다.
갱신 프로세스가 잘 동작하는지 테스트를 해보려면 다음 명령어를 입력하면 된다.
$ sudo certbot renew --dry-run
오류가 나오지 않았으므로 모든 자동 갱신 프로세스 설정이 잘 완료된 것이다.
'서버개발 SpringBoot' 카테고리의 다른 글
Linux / URL / Domain / Name Server / Sub Domain / Redirection (0) | 2022.04.07 |
---|---|
EC2 서버 환경 구축 / 도메인 접속 / 서브 도메인 연결 / Redirection (0) | 2022.04.06 |
서버 클라이언트 통신 / OSI 7 계층 / TCP / IP(패킷 헤더, IPv4, IPv6, 도메인) / Port(포트번호, 포트리스닝, 인바운드/아웃바운드) / 포트포워딩(외부IP/내부IP, 외부Port/내부Port) / AWS EC2 (0) | 2022.04.01 |
공유기 포트포워딩 / AWS EC2 Instance 생성 (0) | 2022.04.01 |
로컬 서버 구축 / 서버 구조 / 서버와 클라이언트 (0) | 2022.03.29 |
댓글