Nginx SSL 설정하는 방법

다음은 Nginx SSL 을 적용하는 설정입니다.

SSL(HTTPS)을 적용하면 웹사이트와 사용자 간의 데이터가 암호화되어 중간에서 탈취당하는 것을 방지할 수 있습니다.

  • 데이터 보호: 사용자 로그인 정보, 결제 정보, 개인 정보 등이 암호화됨.
  • MITM 공격 방지: 중간자 공격(Man-In-The-Middle)으로부터 보호.
  • 데이터 무결성 유지: 데이터가 변조되지 않도록 보호.

✅ SSL은 선택이 아닌 필수!

과거에는 SSL이 선택 사항이었지만, 지금은 웹사이트의 기본 보안 조치입니다.
특히 SEO와 사용자 신뢰를 고려하면 SSL 적용이 무조건 유리합니다.

전제 조건:

  1. SSL 인증서 준비
    • example.com.crt (인증서 파일)
    • example.com.key (개인 키 파일)
    • 위 파일들은 /etc/nginx/ssl/ 디렉터리에 저장되어 있다고 가정
  2. 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 원하는 방식에 따라 설정을 적용해보세요! 🚀

Leave a Reply

Your email address will not be published. Required fields are marked *