Ste*_*yer 7 ssl nginx handshake
为了调试nginx错误情况,我需要首先完全理解错误日志消息.我们的nginx会不时编写特定的错误日志消息.
记录消息
" SSL握手中的对等关闭连接(104:通过对等方连接重置),同时SSL握手到上游 ".
什么是"同行"?
我想知道:"peer"是指上游,意味着上游在ssl握手期间关闭了连接,或者它是否指向客户端,这意味着客户端在负载均衡器和Web服务器内部关闭时关闭了连接握手?
建立
在这种情况下,Peer指的是上游.仅仅因为如果我们认为对等方是客户端,那就意味着两个SSL握手(客户端 - > nginx,nginx - >上游)同时发生,这没有意义 - 客户端必须建立连接并发送查询,并且只有这时nginx才能选择合适的上游来连接
经过几个小时的调试,我们终于找到了问题的真正原因。该错误消息是由客户端请求没有域的 nginx 产生的,例如https://11.22.33.44/robots.txt。然后,Nginx 将请求转发到 IIS 服务器,该服务器没有任何默认网站绑定到 https 来进行 ip-alone-requests。
最初问题的结论是,“对等点”实际上指的是上游(IIS),因为 IIS 是切断连接的那个。
我们针对此问题选择的解决方案是配置 nginx 自行拒绝这些请求,以便在 nginx 中不会出现此错误,从而避免客户端以“down”模式发送所有服务器。另一种可能的解决方案是确保 IIS 对这些请求表现良好。