프로젝트/Springboot_MariaDB
[AWS] Nginx와 Certbot을 사용하여 HTTPS 설정하기
CBJH
2024. 6. 27. 10:11
728x90
반응형
※ Nginx와 Certbot을 사용하여 HTTPS 설정하기
1. Nginx 설치
먼저 Nginx를 설치해야 합니다.
1. 패키지 목록 업데이트:
sudo apt update
2. Nginx 설치:
sudo apt install nginx
3. Nginx 시작 및 활성화:
sudo systemctl start nginx sudo systemctl enable nginx
2. Certbot 설치
Certbot은 Let's Encrypt에서 무료 SSL 인증서를 발급받을 수 있게 해주는 도구입니다.
- Certbot 및 Nginx 플러그인 설치:
sudo apt install certbot python3-certbot-nginx
3. Nginx 설정 파일 수정
Certbot이 SSL 인증서를 자동으로 설정할 수 있도록 Nginx 설정 파일을 수정해야 합니다.
- Nginx 설정 파일 열기:
sudo nano /etc/nginx/sites-available/default
- 서버 블록 수정: 기존 서버 블록을 아래와 같이 수정합니다.
server {
listen 80;
server_name your_domain_or_IP;
location / {
proxy_pass http://localhost:8080; # 스프링부트 애플리케이션이 8080 포트에서 실행된다고 가정합니다.
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
}
}
- Nginx 설정 테스트 및 재시작:
sudo nginx -t sudo systemctl restart nginx
4. SSL 인증서 발급 및 자동 설정
이제 Certbot을 사용하여 SSL 인증서를 발급받고 Nginx 설정을 자동으로 구성합니다.
- Certbot 실행:
sudo certbot --nginx -d your_domain_or_IP
- 인증 과정: 이메일 주소를 입력하고, 서비스 약관에 동의합니다. Certbot이 자동으로 SSL 인증서를 발급받고 Nginx 설정을 수정합니다.
5. SSL 인증서 갱신 설정
Let's Encrypt 인증서는 90일 동안 유효합니다. Certbot은 인증서를 자동으로 갱신할 수 있는 스크립트를 제공합니다.
- 갱신 테스트:
sudo certbot renew --dry-run
- 자동 갱신 설정: Certbot 패키지를 설치할 때 자동으로 cron job이 설정되므로 별도의 설정이 필요하지 않습니다. Certbot이 인증서를 주기적으로 갱신합니다.