我已经使用 ssl_preread 模块编译了 nginx。
我的配置是这样的
stream {
map $ssl_preread_server_name $mapping {
sv1.mydomain.com sv1;
sv2.mydomain.com sv2;
}
upstream sv1 {
10.0.0.10:443;
# other servers
}
upstream sv2 {
10.0.0.10:8843;
# other servers
}
server {
listen: 443;
ssl_preread on;
proxy_pass $mapping;
}
}
*.mydomain.com 的 DNS 全部指向我的 nginx 服务器的外部 IP。一切正常。
当我去https://sv1.mydomain.com我被路由到 sv1,这是正确的。然后,当我去https://sv2.mydomain.com我被路由到 sv2,这也是正确的。然而当我导航回https://sv1.mydomain.com再次,我被路由到 sv1,这是错误的!!
这就像是某些东西被缓存了,但我不确定是什么或在哪里,也不确定如何调查它。
注意:这仅在外部访问时才会发生。