Saya memiliki dua nama host yang berbagi nama domain yang sama yang ingin saya layani melalui HTTPs. Saya punya sertifikat wildcard-SSL dan membuat dua konfigurasi vhost:
Tuan rumah 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;
Tuan rumah 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;
Namun, saya mendapatkan vhost yang sama untuk kedua nama host.
nginx
ssl
virtualhost
ssl-certificate
https
vincent.io
sumber
sumber
ssl_certificate
danssl_certificate_key
yang harus dikonfigurasi di dalamserver
atauhttp
lokasi. Dalam contoh Anda, Anda telah mendeklarasikannya di dalamserver
lokasi pertama , tetapi tidak mendeklarasikannya untuk dua vhost lainnya.ssl_certificate
,ssl_certificate_key
danssl
hanya pada default_server. BTW, konfigurasi ini benar-benar berfungsi.ssl
padalisten
direktif untuk ini bekerja dengan nginx 1.4.x.listen
Arahan saya di vhosts juga harus benar-benar sama (kesetaraan logis tidak cukup).Ini sebenarnya dijelaskan dalam manual: http://nginx.org/en/docs/http/configuring_https_servers.html#certificate_with_several_names
Sekarang, jika Anda memiliki banyak situs, saya sarankan untuk menyimpan semuanya dalam folder dengan hanya bagian server {} seperti di atas dalam file tunggal, dan sertakan arahan dalam file utama untuk memuat semuanya:
sumber