5. 도메인 설정 및 HTTPS로 배포설정 변경
배포를 하고나니,
도메인이 있었으면 좋겠고,
도메인 설정을 하고나니,
HTTPS로 접속하고 싶었다.
도메인 설정
도메인은 가비아에서 1년에 1700원 .site 도메인을 구매
이 4개의 값을
이렇게 네임서버에 곱게 넣어주면 된다. (네임서버 : IP와 도메인 이름을 이어주는 역할)
1~4차에 넣은 저 값들은 AWS Route 53을 통해 제공되는 호스트 네임.
HTTPS 설정
1. 리버스 프록시 설정
- 기존 sites-enabled에서 관리하던 설정을 conf.d로 이전
- proxy_set_header X-Real-IP $remote_addr; = X-Real-IP 헤더 설정
: 리버스 프록시를 통과한 요청의 실제 클라이언트 IP주소를 저장. 백엔드 서버에서 원격 클라이언트의 IP주소 식별 가능 - proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; = X-Forwarded-For 헤더 설정
: 클라이언트와 중간 프록시 서버 간의 연결 경로에 있는 모든 IP 주소 나열 - proxy_set_header Host $http_host; = Host 헤더 설정
: 원래 요청에서 받은 호스트 헤더 값을 보존 - location { } 이후 코드 : certbot 을 통해 ssl 인증서 발급시 자동으로 추가된 부분
Certbot 설치 & SSL 인증서 발급 (by Let's Encrypt)
- 명령어 정리
- sudo snap install certbot --classic
- sudo certbot --nginx
SSL 인증서 자동 갱신 (.with Crontab)
Let's Encrypty에서 발급해주는 ssl 인증서는 90일 만료
-> Crontab을 통해 자동화
- 명령어 정리
- crontab -e
- 이후 vim으로 선택
- 끝에 0 0 * * * certbot renew --post-hook "sudo service nginx reload" 추가 : 자동 갱신
참고
도메인 설정 : https://thalals.tistory.com/409
HTTPS 설정 : https://hudi.blog/https-with-nginx-and-lets-encrypt/
'Back-End > Infra' 카테고리의 다른 글
이미지 처리를 위한 AWS S3 설정 (0) (0) | 2024.04.10 |
---|---|
"ec2 + pm2 + nginx"를 활용해서 node.js 배포하기 (4) (3) | 2023.09.09 |
"ec2 + pm2 + nginx"를 활용해서 node.js 배포하기 (3) (0) | 2023.09.06 |
"ec2 + pm2 + nginx"를 활용해서 node.js 배포하기 (2) (0) | 2023.09.06 |
"ec2 + pm2 + nginx"를 활용해서 node.js 배포하기 (1) (0) | 2023.09.06 |