모눈종이에 사각사각
HTTPS 적용하기 본문
🍎 HTTPS 적용하기
이전 포스팅에서 AWS EC2 인스턴스와 도메인을 연결해보았다.
지금 도메인을 검색해 들어가면 다음과 같이 주의 요함이라고 뜰 것이다.
이는 https가 아닌 http로 접속했기 때문이다.
이번 포스팅에서는 https를 적용해보려고 한다.
1. Certbot 설치
Let’s Encrypt 와 Certbot란?
- Let’s Encrypt : SSL 인증서를 무료로 발급해주는 CA(Certificate Authorities)
- Let’s Encrypt의 SSL인증서는 ACME(Automatic Certificate Management Environment) 프로토콜을 준수하는 프로그램을 이용해 발급을 받을 수 있는데 Let’s Encyrpt는 Certbot 사용을 권장하고 있다.
- 시스템 관리자는 Certbot을 통해 인증서를 직접 요청할 수 있다.
- certbot을 위한 저장소를 추가
$ sudo apt update
$ sudo apt upgrade
$ sudo add-apt-repository ppa:certbot/certbot
- certbot의 nginx 패키지 설치
$ sudo apt install python3-certbot-nginx
2. Nginx 설정 변경
$ sudo vi /etc/nginx/sites-available/default
- server_name을 도메인 www.도메인; 으로 변경한다.
3. 테스트 후 Nginx reload
$ sudo nginx -t
$ sudo systemctl reload nginx
4. 방화벽 설정
- HTTPS에 대한 방화벽 허용 설정이 필요
- AWS EC2 인스턴스의 경우는 기본으로 방화벽이 비활성화 되어 있음
- $ sudo ufw status 를 해서 비활성화(Status: inactive) 되어 있으면 넘어간다.
5. SSL 인증서 받기
$ sudo certbot --nginx -d [도메인]
// 예시
$ sudo certbot --nginx -d abcabc.shop -d www.abcabc.shop
잘 입력 되었으면 다음과 같이 나온다.
6. 인바운드 규칙 HTTPS 추가
- AWS EC2 인바운드 규칙에 HTTPS를 추가한다.
- 어디서든 접근할 수 있게 0.0.0.0/0으로 설정한다.
7. Verifying Certbot Auto-Renewal
$ sudo certbot renew --dry-run
8. Nginx 재시작
$ sudo service nginx restart
9. HTTPS로 접속
- 자물쇠 모양이 나온다면 성공!
※ www.dodo-hannah.shop로 접속할 경우 자물쇠 모양이 잘 뜨는데 반해, dodo-hannah.shop로 접속할 경우 자물쇠 모양이 뜨지 않는 오류가 발생했다.
그래서 위의 5번 과정부터 다시 진행했다.
- reinstall을 선택
- HTTP로 접속하려는 것들을 HTTPS로 Redirect하도록 선택
- 설정완료
위와 같이 잘 설정했음에도 불구하고 에러는 똑같이 발생했다.
그러나 시간이 지나서 다시 확인해보니 잘 되었다!
반영이 될 때까지 시간이 걸리는 것일까?
아무튼 이제는 잘 https로 접속이 된다.
참고사이트
https://luminitworld.tistory.com/86
'Web > Server' 카테고리의 다른 글
Redirection 적용(IP주소 입력 → 도메인주소) (0) | 2022.02.23 |
---|---|
서브 도메인 만들기 (가비아) + HTTPS 적용 (0) | 2022.02.22 |
도메인 구입하여 AWS EC2 인스턴스와 연결하기(가비아) (0) | 2022.02.21 |
MySQL 외부에서 접속하기 (0) | 2022.02.21 |
Linux + Nginx PHP MySQL (0) | 2022.02.20 |