我有一个包含多个虚拟主机和子域的nginx配置。每个子域都需要绑定不同的 SSL 证书。这是我的第一个子域的配置:
server {
listen 443;
server_name a.website.com;
ssl on;
ssl_certificate /etc/nginx/ssl/a/a.crt;
ssl_certificate_key /etc/nginx/ssl/a/a.rsa;
.....
我的第二个配置:
server {
listen 443;
listen 3443;
server_name b.website.com;
ssl on;
ssl_certificate /etc/nginx/ssl/b/b.crt;
ssl_certificate_key /etc/nginx/ssl/b/b.key;
....
问题是,如果我转到 b.website.com,则当我希望只有 b.website.com 绑定时,会返回 a.website.com 和 b.website.com 的SSL证书。我使用 ssllabs 验证了这一点。
有什么建议吗?
我没有注意到在 ssllabs 中,只有在未启用 SNI 时才返回第二个证书,这是有意义的,因为两个证书都在同一个 IP 上。显然,我们正在使用的集成不支持SNI(我知道很疯狂(,所以我想我必须启动另一台服务器。