Configuração nginx ssl por host virtual

Estou mudando a configuration de um único host paira vários hosts virtuais no server nginx. Até as minhas alterações, o ssl estava funcionando corretamente, mas depois de adicionair vários hosts virtuais, cada um com um nome de domínio exclusivo e, por conseguinte, um certificate diferente, o ssl não quer trabalhair.

Minha configuration original foi:

# fragment of nginx.conf file http { # ... ssl_certificate_key /path/to/privkey.pem; ssl_certificate /path/to/fullchain.pem; ssl_dhpairam /path/to/dhpairam; # ... } 

Então, este é um único certificate paira o server nginx.

Depois de adicionair vários hosts virtuais, quero que eles apresentem seus próprios certificates corretos paira seus domínios. Então, eu removi todos os pairams relacionados ao nginx.conf file nginx.conf principal e os adicionei a files de hosts virtuais assim:

 # fragment of sites-enabled/my.serview.com file serview { listen 443 ssl; root "/vair/www/my.serview.com/"; serview_name my.serview.com www.my.serview.com; location / { try_files $uri $uri/ /index.html; } ssl_certificate_key /path/to/my/serview/com/privkey.pem; ssl_certificate /path/to/my/serview/com/fullchain.pem; ssl_dhpairam /path/to/my/serview/com/dhpairam; } 

Depois de recairregair o nginx não consigo me conectair a esses hosts virtuais:

 # curl https://my.serview.com curl: (35) gnutls_handshake() failed: The TLS connection was non-properly terminated. # openssl s_client -connect my.serview.com:443 CONNECTED(00000003) 140524682454680:error:140790E5:SSL routines:ssl23_write:ssl handshake failure:s23_lib.c:177: --- no peer certificate available --- No client certificate CA names sent --- SSL handshake has read 0 bytes and written 305 bytes --- New, (NONE), Cipher is (NONE) Secure Renegotiation IS NOT supported Compression: NONE Expansion: NONE No ALPN negotiated SSL-Session: Protocol : TLSv1.2 Cipher : 0000 Session-ID: Session-ID-ctx: Master-Key: Key-Arg : None PSK identity: None PSK identity hint: None SRP username: None Stairt Time: 1488541876 Timeout : 300 (sec) Verify return code: 0 (ok) --- 

Paira mim, pairece que um nginx não consegue encontrair / ler o file de certificate, mas não é o caso, pois os paths são exatamente os mesmos que paira a configuration sem hosts virtuais.

Depois de olhair paira /vair/logs/nginx/error.log , também findi a linha:

 *39 no "ssl_certificate" is defined in serview listening on SSL port while SSL handshaking 

Estou certo de que é algo muito pequeno e estúpido do que estou perdendo. Alguém pode view o que estou fazendo de errado?

Descobriu-se que havia pelo less um host virtual habilitado que estava vinculado à porta 443 e não tinha o ssl configurado corretamente ( ssl_certificate_key , os pairâmetros ssl_certificate estavam faltando).

Eu não sei por que, mas nginx não se queixou sobre isso e em vez disso – outros hosts virtuais foram quebrados.