J'ai deux noms d'hôte partageant le même nom de domaine que je souhaite servir sur https. J'ai un certificat WildCard-SSL et j'ai créé deux configurations Vhost:
hôte a
listen 127.0.0.1:443 ssl;
server_name a.example.com;
root /data/httpd/a.example.com;
ssl_certificate /etc/ssl/wildcard.cer;
ssl_certificate_key /etc/ssl/wildcard.key;
hôte b
listen 127.0.0.1:443 ssl;
server_name b.example.com;
root /data/httpd/b.example.com;
ssl_certificate /etc/ssl/wildcard.cer;
ssl_certificate_key /etc/ssl/wildcard.key;
Cependant, je reçois le même Vhost servi pour le nom d'hôte.
Vous devez diviser les Vhosts de la partie SSL d'écoute/de configuration:
Partie d'écoute:
server {
listen 127.0.0.1:443 default_server ssl;
server_name _;
ssl_certificate /etc/ssl/wildcard.cer;
ssl_certificate_key /etc/ssl/wildcard.key;
}
Et maintenant vhosts:
server {
listen 127.0.0.1:443;
server_name a.example.com;
root /data/httpd/a.example.com;
}
server {
listen 127.0.0.1:443;
server_name b.example.com;
root /data/httpd/b.example.com;
}
Il est effectivement expliqué dans le manuel: http://nginx.org/en/docs/http/configuring_htttps_servers.html#certificate_with_several_names
ssl_certificate /etc/ssl/wildcard.cer;
ssl_certificate_key /etc/ssl/wildcard.key;
server {
listen 443 ssl;
server_name a.example.com;
root /data/httpd/a.example.com;
}
server {
listen 443 ssl;
server_name b.example.com;
root /data/httpd/b.example.com;
}
Maintenant, si vous avez de nombreux sites, je vous suggère de stocker tous dans un dossier avec uniquement la partie Server {} comme ci-dessus dans des fichiers uniques et une directive Inclure dans le fichier principal pour les charger:
ssl_certificate /etc/ssl/wildcard.cer;
ssl_certificate_key /etc/ssl/wildcard.key;
include /etc/nginx/conf.d/subfolder/*;