MINGKYME 블로그

nginx 에서 SSL 인증서를 여러개 설정하는 방법

AWS CloudFlare에서는 cloudflare.net 과 개인이 사용하는 도메인의 인증서를 모두 지원한다.

내가 아는 안에서는 nginx는 1개의 인증서파일을 지원하는 것으로 알고 있었는데, 궁금증이 생겼다.

구글링 해본 결과, map을 이용해서 인증서를 갈이끼울수 있다.

map $ssl_preread_server_name $certificate {
    default           example.com;
    www.example01.com example01.com;
    www.example02.com example02.com;
}

기존에 사용하는 $host는 TLS Handshake 과정 이후에 값이 생긴다.

이럴 땐 변수 $ssl_preread_server_name 을 이용해서 Host의 값을 확인하여, 값을 바꿔끼워준다.