Business
Jobs
  • About Us
  • Solutions
    • Job Postings
      Post your job and receive qualified candidates in 48h.
    • Candidate Assessments
      500+ technical and psychological tests, plus anti-fraud.
    • Headhunting
      Tailor-made executive search from start to finish.
    • Payroll + EOR
      Payroll dispersal and EOR across 15+ LATAM countries.
  • Pricing
  • Jobs

0

493
Views
¿Cómo usar SNI correctamente? (Dos estilos de escritura Nginx SNI diferentes)

¿Cuál es la diferencia entre estos dos estilos diferentes de escritura SNI? ¿Alguien podría juzgar sus diferencias por principio, desempeño, etc.?

Estilo1

 stream{ map $ssl_preread_server_name $backend_name{ A.example.com A; B.example.com B; } upsteam A{ server 127.0.0.1:10086 } upsteam B{ server 127.0.0.1:10087 } } http{ server{ listen 10086 ssl http2; server_name A.example.com ... } }

estilo2

 server { listen 127.0.0.1:443 ssl; server_name A.example.com; ... } server { listen 127.0.0.1:443 ssl; server_name B.example.com; ... }
over 4 years ago · Santiago Trujillo
1 answers
Answer question

0

A partir de la pregunta, parece que está intentando escuchar en el puerto 443 para diferentes nombres de host. Las solicitudes que vienen con el nombre de host A.example.com deben reenviarse a 127.0.0.1:10086 mientras que con el nombre de host B.example.com irían a 127.0.0.1:10087 . Permítanme explicar lo que sucede detrás de escena en ambos estilos.

Estilo 1

El bloque de stream le permite equilibrar la carga sobre TCP/UDP. El módulo ngx_stream_ssl_preread_module le permite extraer información de la solicitud sin terminación SSL/TLS. Está utilizando el map para que las conexiones que vienen como A.exammple.com establezcan A en la variable $backend_name mientras que las que vienen como B.example.com establezcan B en la variable $backend_name . Según sus bloques upstream , las solicitudes se reenvían a 127.0.0.1:10086 o 127.0.0.1:10087 . Dado que hay un bloque http con bloques de servidor escuchando en los puertos 10086 y 10087 respectivamente, crea una nueva conexión cada vez que cumple con esas solicitudes. La terminación ssl también ocurre dentro del bloque http.

estilo 2

Ambos bloques de servidores escuchan a través de 443 y, según el nombre de host de la solicitud, pasan por uno de los bloques de server . La terminación de ssl ocurre antes de que la solicitud vaya a los puertos donde la aplicación realmente se está ejecutando.

Ambos estilos son buenos para lograr esto, pero personalmente prefiero el Style 2 ya que la terminación de SSL se maneja antes del reenvío de las solicitudes. Además, en el Style 1 se crea una conexión adicional que, en mi opinión, supone una ligera sobrecarga de rendimiento.

over 4 years ago · Santiago Trujillo Report
Answer question
Find remote jobs

Discover the new way to find a job!

Top jobs
Top job categories
Business
Post vacancy Pricing Sales
Legal
Terms and conditions Privacy policy
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Show me some job opportunities
There's an error!