17강 / 20강

이름 하나에 사이트 하나 — server_name 과 SNI

한 IP · 한 포트 위에 120개 사이트

이름 하나에 사이트 하나 — server_name 과 SNI
주소가 같아도 부른 이름이 다르면 다른 방으로 갑니다.

이 서버는 IP 하나, 포트 443 하나로 120개 사이트를 받습니다. 어떻게 구분할까요?

10강의 SNI 입니다. 브라우저가 악수를 시작하면서 "나는 drson.iotok.org 를 찾아왔어" 라고 먼저 말해 줍니다. nginx 는 그 이름으로 server 블록을 고릅니다.

이름을 바꿔 넣어 보세요 — 어느 server 블록이 뽑히는지 보입니다.
불러오는 중…

고르는 순서

#무엇보기
1정확히 일치drson.iotok.org
2앞쪽 별표*.iotok.org
3뒤쪽 별표drson.*
4정규식~^(?<sub>.+)\.iotok\.org$
5기본 서버맞는 게 없으면 default_server, 그것도 없으면 맨 위 블록

와일드카드 인증서와 짝을 맞춘다

*.example.com 인증서 하나면 한 단계 아래 이름 전부를 덮습니다. a.example.com 은 되지만 a.b.example.com 은 안 됩니다 — 별표는 한 마디만 먹습니다.

그리고 와일드카드는 에이펙스를 포함하지 않습니다. 그래서 오리진 인증서를 만들 때 example.com 과 *.example.com 을 둘 다 넣는 것입니다(12강).

그래서 인증서에 이름 둘을 넣습니다.
Python 브라우저에서 실행
🤔 확인 문제
*.example.com 인증서로 덮이지 않는 이름은?
🤔 확인 문제
새 서브도메인을 열었는데 엉뚱한 사이트가 뜹니다. 가장 그럴듯한 원인은?