Nginx 설치 및 SSL 구성 가이드 요약
카테고리
프로그래밍/소프트웨어 개발
서브카테고리
웹 개발
대상자
시스템 관리자 및 웹 개발자 (중급 이상, Linux 서버 운영 경험자)
핵심 요약
- Nginx 설치 및 기본 구성:
sudo apt install nginx
또는sudo yum install nginx
명령어 사용 - 도메인 구성:
server
블록으로server_name
,root
,location
설정 - SSL 보안 강화: Let's Encrypt 인증서 자동 생성 및
ssl_protocols TLSv1.2 TLSv1.3
적용
섹션별 세부 요약
- Nginx 설치 및 초기 설정
- Linux 서버(우분투/디비안 권장)에서
sudo apt update
및sudo apt install nginx
실행 - 서비스 시작 및 자동 실행:
sudo systemctl start nginx
및sudo systemctl enable nginx
- 포트 개방:
sudo ufw allow 'Nginx Full'
또는firewall-cmd
명령어 사용
- 도메인 및 웹 루트 설정
- 서버 블록 생성:
/var/www/yourdomain.com/html
디렉토리 생성 및 권한 설정 - Nginx 설정 파일 생성:
sudo nano /etc/nginx/sites-available/yourdomain.com
에서server
블록 정의
- SSL 인증서 설치 및 구성
certbot
설치:sudo apt install certbot python3-certbot-nginx
- 인증서 생성:
sudo certbot --nginx -d yourdomain.com
명령어 실행 - 자동 갱신 설정:
sudo certbot renew --dry-run
명령어로 검증
- 보안 강화 및 최적화
- SSL 구성:
ssl_certificate
와ssl_certificate_key
경로 설정 (/etc/letsencrypt/live/...
) - 보안 프로토콜 강화:
ssl_protocols TLSv1.2 TLSv1.3
적용 및ssl_ciphers EECDH+AESGCM:EDH+AESGCM
지정 - HTTP 강제 리디렉션:
if ($scheme != "https") { return 301 }
조건 추가
결론
- 정기적인 업데이트 및 모니터링:
sudo nginx -t
로 설정 검증,sudo tail -f /var/log/nginx/error.log
로 로그 확인 - 보안 강화:
fail2ban
도구 사용, SSL 인증서 갱신 주기적으로 수행 - 최종 검증:
sudo systemctl restart nginx
로 서비스 재시작 후 웹 브라우저로 HTTPS 접속 테스트