728x90
AWS EC2 인스턴스에서 쉘 액세스 권한이 있는 경우, Certbot ACME 클라이언트를 사용하여 Let's Encrypt SSL 인증서를 발급받고 자동으로 설치하는 것이 좋습니다. Certbot은 SSL 인증서를 자동으로 발급하고 갱신할 수 있는 도구로, 사용하기 쉽고 널리 사용됩니다.
시작전에, 도메인 주소를 웹서버 IP 매칭시켜놔야 합니다! (도메인주소 필요, 저는 DNS 레코드로 A(IP와 1대1 매칭) 선택)
Certbot을 사용하여 Let's Encrypt SSL 인증서 발급 및 설치
AWS EC2 인스턴스에 Certbot을 설치합니다.
1. Certbot 설치:
sudo yum install -y certbot
sudo yum install -y python3-certbot-nginx
도메인 이름을 지정하여 SSL 인증서를 발급받습니다. 예를 들어, fintech19190301.kro.kr 도메인에 대해 SSL 인증서를 발급받으려면 다음 명령어를 실행합니다.
2. Certbot을 사용하여 SSL 인증서 발급:
sudo cerbot --nginx -d 도메인
이 명령어는 Nginx 설정을 자동으로 업데이트하고, SSL 인증서를 구성합니다.
Let's Encrypt 인증서는 90일 동안 유효합니다. 따라서 인증서 갱신을 자동화하기 위해 crontab을 설정할 수 있습니다.
3. 자동 갱신 설정:
sudo crontab -e
다음 줄을 추가하여 매일 새벽 2시에 인증서를 갱신하도록 설정합니다.
0 2 * * * /usr/bin/certbot renew --quiet
Nginx 설정 예시
Certbot이 자동으로 Nginx 설정을 업데이트하지만, 수동으로 설정하는 방법도 알아두면 유용합니다. 다음은 기본적인 Nginx 설정 예시입니다:
Nginx 설정 파일 열기
sudo nano /etc/nginx/conf.d/your_project.conf
Nginx 설정 추가/수정
server {
listen 80;
server_name 도메인 www.도메인;
# 모든 HTTP 요청을 HTTPS로 리다이렉트
return 301 https://$host$request_uri;
}
server {
listen 443 ssl;
server_name 도메인 www.도메인;
ssl_certificate /etc/letsencrypt/live도메인/fullchain.pem;
ssl_certificate_key /etc/letsencrypt/live/도메인/privkey.pem;
location / {
proxy_pass http://unix:/var/www/fintechproject/Server/DjangoServer/DjangoServer.sock;
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 설정 테스트 및 재시작
Nginx 설정 파일을 저장하고 편집기를 종료한 후, Nginx 설정을 테스트하고 재시작합니다.
sudo nginx -t sudo systemctl restart nginx
요약
- Certbot 설치: Certbot과 Certbot Nginx 플러그인을 설치합니다.
- SSL 인증서 발급: Certbot을 사용하여 도메인에 대한 SSL 인증서를 발급받습니다.
- 자동 갱신 설정: crontab을 설정하여 SSL 인증서를 자동으로 갱신합니다.
- Nginx 설정: Nginx 설정을 통해 SSL 인증서를 구성하고, HTTP 요청을 HTTPS로 리다이렉트합니다.
728x90
'클라우드 서버 > AWS' 카테고리의 다른 글
[AWS EC2]AWS CLI를 사용하여 EC2에서 DynamoDB에 안전하게 액세스하는 방법 (1) | 2024.06.30 |
---|---|
[AWS EC2] Amazon DynamoDB Table 생성 (0) | 2024.06.29 |
[AWS EC2] Docker 설치 (0) | 2024.06.24 |
[AWS EC2] 가상환경 활성화 명령어 별칭 설정하기 (0) | 2024.06.21 |
[AWS] EC2 Django 서버 구축 및 배포 (0) | 2024.06.19 |