Nginx SSL请求流程

Nginx SSL请求流程

我有一个 Nginx 1.10,上面有以下两个站点:

地点A:

server {
        listen 443 ssl http2;
        listen [::]:443 ssl http2;
        ssl_certificate /etc/ssl/example.com/fullchain.pem;
        ssl_certificate_key /etc/ssl/example.com/privkey.pem;    
        server_name example.com;
        return  301  https://www.$host$request_uri;
}

站点 B:

server {
        listen 443 default_server ssl;
        listen [::]:443 default_server ssl;
        ssl_certificate /etc/ssl/default/fullchain.pem;
        ssl_certificate_key /etc/ssl/default/privkey.pem;    
        server_name _;
        return  301  https://qqq.$host$request_uri;
}

服务器IP是10.10.10.10

为什么当我执行:curl -Iv --header "Host: example.com" https://10.10.10.10. -k

它给了我默认证书,而不是示例.com

但如果我执行 curl -Iv --resolve example.com:443:10.10.10.10 https://example.com -k它就会加载正确的证书。

所以 nginx 不使用主持人标头来选择 SSL 证书 哪个参数使用 nginx 来决定加载哪个证书?

任何参考都将不胜感激,谢谢

相关内容