AWS Server 구축(+Nginx PhP MySQL)
-5-
개요
구축한 Server에 https protocol 도 추가하여준다
목차
진행과정
1. letsencrypt 설치
$ sudo apt-get install letsencrypt -y
Let`s Encrypt를 통해 SSL 인증서를 얻기 위한 letsencrypt를 먼저 설치하여준다. 이 때 Certbot은 letsencrypt안에 포함되어 있으므로 별도로 설치해주지 않아도 된다.
2. Nginx 용 Certbot 설치
Nginx 설치 전 update를 한번 더 진행해준다
$ sudo apt upgrade -y
$ sudo apt install certbot python3-certbot-nginx
그 후 한번 더 upgrade를 진행 후 Nginx web server 용 python3를 설치한다
3. Nginx 설정
$ sudo vi /etc/nginx/sites-available/default
위의 파일로 이동하여 servername에 domain name을 추가하여준다
성공적으로 반영되었음을 확인 후 Nginx를 다시 로딩하여준다
4. SSL 인증서 받기
Certbot은 다양한 플러그인을 통해 SSL 인증서를 얻을 수 있도록 다양한 방법을 제공하여준다.
이 때 Nginx는 필요할 때 마다 Nginx를 재구성하고, 구성을 reload 하는 방식을 사용한다
$ sudo certbot --nginx -d 사이트이름
SSL인증서를 필요로하는 Domain Name들을 -d option을 통해 추가하여준다
이 때 http와 https를 redirect 할 것인지의 여부또한 설정하여준다
+-d를 통해 이전에 보았던 sub domain도 추가하여준다
한번 더 실행시켜주면 재설치 혹은 갱신여부를 묻고, redirect 여부를 한번 더 묻는다. 원하는 설정으로 변경해주었다
위의 인증서가 성공적으로 설치되어, 위의 명령어창에서 받은 test server로 test를 해보았으나, 이용할 수 없다고 나왔다.
이는 아직 https의 In-Bound 규칙을 추가해주지 않아 발생한 것이므로 규칙을 추가하여준다
5. https In-Bound 규칙 추가 및 확인
위의 규칙을 추가해준다
그 후 sudo certbot --nginx를 한번 더 실행해 renew를 통해 갱신을 하여준다
그 후 다시 server를 test 하여주면 위와 같은 결과 및, https로 sub domain 에도 성공적으로 접근 가능하게 되는것을 확인 할 수 있다.
+ Certbot 자동 갱신기능
Let`s Encrypt의 인증서의 유효기가는 90일이다. 따라서 90일마다 재갱신 해주어야하는데, 설치시 자동으로 재갱신 명령어가 들어가 있어 다음의 명령어로 확인해주면 된다.
$ sudo certbot renew --dry-run
'Back End > Server' 카테고리의 다른 글
[Server] KaKao 를 이용한 소셜 로그인 구현 (15) | 2021.08.01 |
---|---|
[Server] Nginx Redirection (IP to Domain) (0) | 2021.07.10 |
[Server] AWS Server 구축 (Nginx + PhP + MySQL) -4 (0) | 2021.07.09 |
[Server] AWS Server 구축 (Nginx + PhP + MySQL) -3 (0) | 2021.07.09 |
[Server] AWS Server 구축 (Nginx + PhP + MySQL) -2 (0) | 2021.07.08 |