Nginx SSL 설정하는 방법
다음은 Ngin
x SSL 을 적용하는 설정입니다.
SSL(HTTPS)을 적용하면 웹사이트와 사용자 간의 데이터가 암호화되어 중간에서 탈취당하는 것을 방지할 수 있습니다.
- 데이터 보호: 사용자 로그인 정보, 결제 정보, 개인 정보 등이 암호화됨.
- MITM 공격 방지: 중간자 공격(Man-In-The-Middle)으로부터 보호.
- 데이터 무결성 유지: 데이터가 변조되지 않도록 보호.
✅ SSL은 선택이 아닌 필수!
과거에는 SSL이 선택 사항이었지만, 지금은 웹사이트의 기본 보안 조치입니다.
특히 SEO와 사용자 신뢰를 고려하면 SSL 적용이 무조건 유리합니다.
전제 조건:
- SSL 인증서 준비
example.com.crt
(인증서 파일)example.com.key
(개인 키 파일)- 위 파일들은
/etc/nginx/ssl/
디렉터리에 저장되어 있다고 가정
- NGINX가 설치되어 있어야 함
nginx -v
로 설치 여부 확인- Let’s Encrypt 인증서를 사용하려면
certbot
을 활용 가능 (sudo apt install certbot
)
/etc/nginx/sites-available/default
파일 예제 (SSL 적용)
server {
listen 80;
server_name example.com www.example.com;
return 301 https://$host$request_uri; # HTTP 요청을 HTTPS로 리디렉트
}
server {
listen 443 ssl http2;
server_name example.com www.example.com;
ssl_certificate /etc/nginx/ssl/example.com.crt;
ssl_certificate_key /etc/nginx/ssl/example.com.key;
ssl_protocols TLSv1.2 TLSv1.3;
ssl_ciphers HIGH:!aNULL:!MD5;
location / {
root /var/www/html;
index index.html index.htm;
}
error_page 404 /404.html;
location = /404.html {
root /var/www/html;
}
}
설정 적용 방법:
sudo ln -s /etc/nginx/sites-available/default /etc/nginx/sites-enabled/
sudo nginx -t # 설정 파일 문법 체크
sudo systemctl reload nginx # Nginx 재시작<br></code>
Let’s Encrypt 무료 SSL 자동 적용 (선택 사항)
sudo certbot --nginx -d example.com -d www.example.com
이렇게 하면 인증서가 자동으로 설정되고, 갱신도 자동으로 관리됩니다.
Nginx SSL 원하는 방식에 따라 설정을 적용해보세요! 🚀