nginx HTTPS
4. 응용 변형 예제
4.1 사내 CA 로 서명 받기
CSR 까지는 이 레슨과 같고, 마지막 서명만 openssl x509 -req -CA ca.crt -CAkey ca.key -CAcreateserial 로 사내 CA 키로 합니다. 발급받은 인증서를 각 단말에 미리 배포한 루트 CA 가 신뢰하면 경고 없이 열립니다.
4.2 SNI 로 도메인별 인증서 나누기
한 IP 에 여러 도메인을 올릴 때는 도메인마다 server_name·ssl_certificate 가 다른 server 블록을 나눠 둡니다. 클라이언트가 TLS 핸드셰이크에서 도메인 이름(SNI)을 보내면 nginx 가 맞는 인증서를 고릅니다.
4.3 공인 인증서 갱신 자동화
인터넷이 열린 서버라면 certbot 같은 도구로 90 일마다 자동 갱신합니다. 폐쇄망에서는 자동화가 어려워 만료일을 달력에 등록하고 수동으로 반입·교체합니다.
4.4 mTLS 클라이언트 인증서
ssl_client_certificate·ssl_verify_client on; 을 추가하면 클라이언트도 인증서를 제시해야 접속을 허용합니다. 사내 시스템 간 호출처럼 양쪽을 다 통제할 수 있을 때 씁니다.
4.5 여러 도메인 SAN 인증서
CN 하나 대신 subjectAltName 에 여러 도메인을 넣으면 인증서 하나로 app.example.local·api.example.local 을 함께 처리합니다. CSR 생성 시 -addext "subjectAltName=DNS:app.example.local,DNS:api.example.local" 을 추가합니다.