开发者社区 > 云原生 > 中间件 > 正文

我遇到一个问题 envoy访问tengine的时候 平时是正常的 但是在nginx reload

我遇到一个问题 envoy访问tengine的时候 平时是正常的 但是在nginx reload 的时候 会有503 UC 通过我抓包的情况来看 nginx在服务还没有响应完就发了FIN包 关闭了链接导致的

这个我测试了 nginx 1.17.3 在gcc 不同版本的表现 发现Debian 6.3 和 gcc 10.2.1 20210110 (Debian 10.2.1-6) 没有这个问题

咱们开源的Tengine-2.3.2版本 gcc 4.4.7 20120313 (Red Hat 4.4.7-11) 会出现 这个是我们生产使用的版本 我在本地用gcc 7.3.1 20180303 (Red Hat 7.3.1-5) 依然有这个问题

展开
收起
Java工程师 2023-04-09 10:08:26 817 0
2 条回答
写回答
取消 提交回答
  • 发表文章、提出问题、分享经验、结交志同道合的朋友

    你好,可能是在 nginx reload 的过程中,连接被意外关闭导致了 503 错误。

    可以尝试增加 proxy_connect_timeout、proxy_send_timeout、proxy_read_timeout 三个配置项的值来延长代理的超时时间。

    2023-04-09 20:36:36
    赞同 展开评论 打赏
  • 如果envoy收到的是FIN 那么服务端tengine/nginx的old worker一定是已经处理完了请求后

    这个也是应该客户端envoy端看下为什么是503 UC错误码.

    此答案来自钉钉群“Tengine 开源交流群"

    2023-04-09 16:59:05
    赞同 展开评论 打赏

为企业提供高效、稳定、易扩展的中间件产品。

相关电子书

更多
阿里七层流量入口Tengine硬件加速探索之路 立即下载
CentOS Nginx PHP JAVA 多语言镜像使用手 立即下载
CentOS Nginx PHP JAVA多语言镜像使用手册 立即下载