做的网站响应速度慢,iis网站批量导入,如何使用家里电脑做网站服务器,怎么自己做砍价网站背景#xff1a;最近需要通过nmap扫描服务器的端口#xff0c;此功能通过websocket 和前端进行交互#xff0c;当前端出发端口扫描之后#xff0c;后端通过websocket将扫描到的信息返给前端#xff0c;完成后#xff0c;给前端一个关闭的信号。 在本地调试成功后#xf…背景最近需要通过nmap扫描服务器的端口此功能通过websocket 和前端进行交互当前端出发端口扫描之后后端通过websocket将扫描到的信息返给前端完成后给前端一个关闭的信号。 在本地调试成功后发布到测试环境进行测试但是却一直无法成功。日志打印broken pipe。 出现“Broken pipe ”可能的情况 1、客户端请求服务器数据服务器突然挂了 2、客户端请求服务端数据服务端正常返回但客户端由于连接超时或者其他原因断开导致服务端无返回通道导致。 根据以往的经验可知应该是客户端将socket断开了但是和前端同事沟通后得知前端并未主动关闭socket。于是就懵逼了。 对应的错误日志如下
于是梳理了一下系统的大概流程排查到底哪里出现了问题
由于不确定那个环节出现了问题所以就用postman模拟websocket 进行测试直连服务和网关均是成功。但是通过nginx代理后就出现了问题试了两次发现距离上一次服务端发送信息给浏览器间隔60s。nmap的扫描一个服务器的耗时要在80s左右于是猜测可能是nginx的某个配置低于nmap的扫描耗时导致出现了上述问题。再次搜索资料可知 定义从代理服务器读取响应的超时。 仅在两个连续的读取操作之间设置超时而不是为整个响应的传输设置超时。 如果代理服务器在此时间内未传输任何内容则连接将关闭。 于是将proxy_read_timeout 设置为180s再次重试结果正常。
参考资料如下
解决java.io.IOException: Broken pipe的报错 https://blog.csdn.net/Melo_FengZhi/article/details/123468640排查IOException Broken pipe 错误偶遇国外小哥https://cloud.tencent.com/developer/article/2052420nginx配置参数https://nginx.org/en/docs/http/ngx_http_proxy_module.html#proxy_read_timeout