설정: nginx 원본 서버에 HTTPS 요청을 보내는 nginx 클라이언트가 있습니다.
나는 'proxy_ssl_name' 지시문을 사용하여 SNI를 덮어쓸 수 있는 방법에 대해 연구해 왔습니다. nginx 공식 문서에 따르면 'proxy_ssl_name'에 사용되는 기본값은 $proxy_host입니다.
제 경우에는 $proxy_host 값이 업스트림 서버 블록 이름('ups_server')입니다. 내 클라이언트 서버에서 'ups_server'가 SNI로 전송되는 것을 볼 수 있습니다. 지원되는 도메인 이름과 일치하지 않는 SNI를 수신할 때 원본 서버가 클라이언트에 올바른 인증서를 다시 보내는 방법을 이해할 수 없습니다.
누군가 내가 이것을 이해하도록 도와줄 수 있습니까?
답변1
SNI와 일치하는 블록이 server
없으면 원본 서버는 기본 블록 인증서를 보냅니다 .server