AWS HTTP를 HTTPS로 리다이렉트하는 방법
안녕하세요. AWS EC2로 서버구축하고 url을 보면 http:ec2퍼블릭ipv4:8080 이런식으로 제공됩니다.
이번 포스팅은 http가 아닌 https로 접속할 수 있도록 리다이렉트하는 방법을 아래에 정리해보겠습니다.
정리하기에 앞서 처음보는 용어가 많이 나와서 정리한번 하고 가겠습니다.
- Nginx: 고성능 웹 서버로, HTTP 및 HTTPS 설정과 리버스 프록시 등을 지원
- SSL: 데이터를 암호화하여 안전하게 전송하는 프로토콜 (현재는 주로 TLS로 대체되었지만 SSL 인증서라는 용어로 많이 쓰임)
- TLS: SSL의 개선된 버전으로, 더 강력한 보안을 제공하는 프로토콜
- Let's Encrypt: SSL/TLS 인증서를 무료로 발급해주는 공인 인증 기관
- Certbot: Let's Encrypt의 SSL/TLS 인증서를 쉽게 발급 및 갱신할 수 있게 도와주는 도구
Nginx 설치
sudo apt update sudo apt upgrade sudo apt install nginx -y
설치 확인
sudo systemctl status nginx

SSL/TLS 설정
Nginx의 SSL/TLS 설정에는 인증서가 필요하다. Let's Encrypt를 사용하여 무료로 발급받을 수 있습니다. 대신 만료기한이 90일이기 때문에 기한이 지나면 재발급 받아야합니다.
Let's Encrypt 설치
sudo apt-get install letsencrypt
Certbot 설치
sudo apt-get install certbot python3-certbot-nginx
Certbot - Nginx 연결
sudo certbot --nginx

위에서 sudo certbot --nginx 명령어로 도메인을 등록합니다.
동의하시겠습니까? 는 Yes하면 되고 본인의 url 입력하면 됩니다.
ex) binary96.store
여기서 저는 아래처럼 오류가 발생하였는데 도메인 소유권을 확인해줘야합니다.
오류발생

해결
밑에 생성값을 확인한 후
터미널을 새로 하나 열어 접속한다 (도메인 소유권확인)
개인마다 임의생성값 다

저는 SpringBoot 프로젝트이기 때문에 정적파일위치인 static 폴더안에 만들었습니다.
폴더명: well-konwn.acme-challenge
도메인 소유권 키 값이 아래처럼 주어지면BgriznKF6VnHBgM4nirNbSO94EBYmH63_pmVi93Ycso.jRjwt~~~~~
토큰값 .을 기준으로 왼쪽은 파일명
토큰전체값은 파일내용으로 입력하시면 됩니다.

BgriznKF6VnHBgM4nirNbSO94EBYmH63_pmVi93Ycso.jRjwt~~~~~
아이고 드디어 성공했네

Nginx 환경설정
설정파일 -> /etc/nginx/conf.d
cd /etc/nginx/conf.d
sudo vi default.conf
아래처럼 내용을 추가해준다.
server {
listen 80;
server_name binary96.store;
return 301 https://$server_name$request_uri;
}
server {
listen 443 ssl;
server_name binary96.store;
ssl_certificate /etc/letsencrypt/live/binary96.store/fullchain.pem;
ssl_certificate_key /etc/letsencrypt/live/binary96.store/privkey.pem;
location / {
proxy_set_header X-Real-Ip $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header Host $host;
proxy_pass http://127.0.0.1:8080;
}
}
아래명령어로 확인한다.
sudo nginx -t

nginx설정 적용 위해 nginx 재시작
sudo systemctl restart nginx
우여곡절이 너무 많았는데 드디어 성공했다..

'IT > AWS' 카테고리의 다른 글
[AWS] https 인증 만료시 해결방법 (1) | 2024.08.18 |
---|---|
파비콘 만들기 및 웹사이트 적용하는 방법 (0) | 2024.05.21 |
AWS EC2 포트포워딩 하는법 (에러포함) (0) | 2024.05.15 |
AWS EC2 서버 가비아 도메인 연결하기 (0) | 2024.05.14 |
가비아 도메인 구매하는 방법 (0) | 2024.05.14 |