sni

SNI (Server Name Indication)

client가 server에 요청할 때, 요청 대상 Domain 정보를 먼저 주는 기술

  • server는 domain 정보에 따라서 SSL 인증서, application을 선택할 수 있다.
  • nginx에서도 SNI를 지원한다.
    • domain name에 따라서 server block을 나눔
# Server 1
server {
  listen 443 ssl http2;
  server_name {DOMAIN_NAME_1}

  ssl_certificate     /etc/letsencrypt/live/{DOMAIN_NAME_1}/fullchain.pem;
  ssl_certificate_key /etc/letsencrypt/live/{DOMAIN_NAME_1}/privkey.pem;
  include /etc/letsencrypt/options-ssl-nginx.conf;
  ssl_dhparam /etc/letsencrypt/ssl-dhparams.pem;

  location / {
    proxy_pass http://127.0.0.1:6202/;
  }
}

# Server 2
server {
  listen 443 ssl http2;
  server_name {DOMAIN_NAME_2};

  ssl_certificate     /etc/letsencrypt/live/{DOMAIN_NAME_2}/fullchain.pem;
  ssl_certificate_key /etc/letsencrypt/live/{DOMAIN_NAME_2}/privkey.pem;
  include /etc/letsencrypt/options-ssl-nginx.conf;
  ssl_dhparam /etc/letsencrypt/ssl-dhparams.pem;

  location / {
    proxy_pass http://127.0.0.1:6666/;
  }
}