홈 › 웹 서버 › 07 / 8

nginx HTTPS

섹션 7진행 0 / 8

nginx HTTPS — 인증서 배치·ssl 설정·리다이렉트·HSTS·교체

앞 레슨에서 nginx 를 Tomcat 앞에 세웠다면 이번에는 그 앞단에 HTTPS 를 올립니다. openssl 로 개인 키·CSR·자체 서명 인증서를 직접 만들고, 443 server 블록에 ssl_protocols·ssl_ciphers·ssl_session_cache 를 채우고, 80 번을 443 으로 리다이렉트하고 HSTS 헤더를 붙이고, 만료를 확인하고 교체하는 절차까지 다룹니다.

이 PC 에는 Tomcat·nginx·systemd 가 없어 DRY_RUN=1 로 흐름과 설정 파일만 확인했고, 실제 설치·적용은 RHEL 서버에서 bash 01_nginx_https.sh 로 합니다. 다만 openssl 은 Git Bash 에도 있어 키·CSR·인증서는 이 PC 에서도 실제로 생성됩니다.

1. 왜 배우는가

HTTP 로 오가는 로그인 정보·세션 쿠키는 중간에서 누구나 읽고 바꿀 수 있습니다. HTTPS 는 nginx 에서 TLS 를 종료해 이 구간을 암호화하고, 브라우저 주소창의 자물쇠 표시로 사용자에게 신뢰를 줍니다.

TLS 종료를 nginx 에 맡기면 Tomcat 은 인증서를 몰라도 되고, 갱신·교체도 nginx 설정 파일 한 곳만 손대면 됩니다. 다만 Tomcat 이 실제 접속 방식(http 인지 https 인지)을 알아야 하는 기능(리다이렉트·쿠키 Secure 속성)이 있어 헤더 전달이 함께 필요합니다.

이 레슨은 사내망에서 흔히 쓰는 자체 서명 인증서를 실제로 만들어 봅니다. 공인 인증서로 바꿀 때도 배치 위치와 nginx 설정은 그대로이고 발급 과정만 달라집니다.