HTTP (HyperText Transfer Protocol)는 웹에서 데이터를 주고받는 기본 프로토콜이지만, 모든 데이터를 평문(Plain Text)으로 전송하여 중간에 누군가 엿보거나(도청), 데이터를 변조할 위험이 있습니다.
HTTPS (HTTP Secure):
SSL/TLS 인증서 (Certificate):
Certbot 설치: 서버에 Certbot과 Nginx용 플러그인을 설치합니다.
sudo yum install -y certbot python3-certbot-nginx
Nginx 설정 확인: Certbot이 HTTPS를 적용할 도메인을 인식할 수 있도록, /etc/nginx/conf.d/ 디렉토리의 설정 파일에 server_name이 정확히 기입되어 있는지 확인합니다.
# /etc/nginx/conf.d/my-app.conf
server {
listen 80;
server_name my-app.com www.my-app.com; # Certbot이 이 도메인을 인식
...
}
인증서 발급 및 Nginx 설정 자동화:
certbot --nginx 명령어를 실행하면, Certbot이 Nginx 설정 파일을 분석하여 server_name에 설정된 도메인 목록을 보여줍니다./etc/letsencrypt/live/...)server 블록을 추가server 블록에, 모든 요청을 HTTPS로 자동 리다이렉트하는 설정 추가sudo certbot --nginx
인증서 자동 갱신:
sudo certbot renew --dry-runmy-app.com과 같은 도메인 이름으로 우리 서버에 접속할 수 있도록, 도메인과 서버의 IP 주소를 연결하는 과정입니다.도메인 구매: 가비아, GoDaddy 등 도메인 등록기관에서 원하는 도메인을 구매합니다.
서버 IP 확인: 배포할 서버(AWS EC2 등)의 고정 IP 주소(Elastic IP)를 확인합니다.
DNS 레코드 설정:
@ (루트 도메인, my-app.com) 또는 www (서브도메인, www.my-app.com)52.78.123.123)전파 및 확인:
https://my-app.com으로 접속하여 사이트가 정상적으로 표시되고, 주소창에 자물쇠 아이콘이 나타나는지 확인합니다.