HTTP에서 HTTPS로 전환하면 웹 사이트의 보안이 강화되며, 사용자의 데이터가 암호화됩니다. 이를 위해 SSL/TLS 인증서를 설정해야 합니다. 아래는 Nginx에서 HTTPS를 설정하는 단계입니다.
Certbot은 Let’s Encrypt에서 SSL 인증서를 자동으로 발급 및 갱신해주는 도구입니다.
Ubuntu를 예로 들면:
sudo apt update
sudo apt install certbot python3-certbot-nginx
Certbot을 사용하여 Nginx 구성 파일을 자동으로 수정하고 SSL 인증서를 발급받을 수 있습니다.
sudo certbot --nginx -d example.com -d www.example.com
여기서 example.com과 www.example.com은 당신의 도메인입니다. 명령어를 실행하면 Certbot이 자동으로 Nginx 설정을 수정하고 SSL 인증서를 발급합니다.
만약 수동으로 설정하려면, 발급받은 SSL 인증서를 Nginx 설정 파일에 추가해야 합니다.
일반적으로 인증서 파일(fullchain.pem)과 키 파일(privkey.pem)은 /etc/letsencrypt/live/example.com/ 디렉토리에 저장됩니다.
Nginx 설정 파일(/etc/nginx/sites-available/default 또는 사용자 정의 설정 파일)을 열어 다음과 같이 수정합니다:
server {
listen 80;
server_name example.com www.example.com;
# 모든 HTTP 요청을 HTTPS로 리다이렉트
return 301 https://$host$request_uri;
}
server {
listen 443 ssl;
server_name example.com www.example.com;
ssl_certificate /etc/letsencrypt/live/example.com/fullchain.pem;
ssl_certificate_key /etc/letsencrypt/live/example.com/privkey.pem;
ssl_protocols TLSv1.2 TLSv1.3;
ssl_prefer_server_ciphers on;
ssl_ciphers HIGH:!aNULL:!MD5;
root /path/to/your/project;
index index.html index.htm;
location / {
try_files $uri $uri/ =404;
}
}
위 설정에서는 HTTP 요청을 HTTPS로 리다이렉트하고, 443 포트에서 SSL을 활성화합니다. ssl_certificate와 ssl_certificate_key 지시어는 인증서 파일과 키 파일의 경로를 지정합니다.
설정을 완료한 후, Nginx를 재시작하여 변경 사항을 적용합니다:
sudo systemctl restart nginx
브라우저에서 https://example.com으로 접근하여 HTTPS가 제대로 설정되었는지 확인합니다.
이 과정을 통해 Nginx에서 HTTPS를 설정할 수 있습니다.