跳至主要內容
  • Hostloc 空間訪問刷分
  • 售賣場
  • 廣告位
  • 賣站?

4563博客

全新的繁體中文 WordPress 網站
  • 首頁
  • 关于 nginx upstream 遇到的一个问题
未分類
6 4 月 2020

关于 nginx upstream 遇到的一个问题

关于 nginx upstream 遇到的一个问题

資深大佬 : chenqh 57

我定义了一堆 upstream

upstream {  server 127.0.0.1:1050;     server 127.0.0.1:1051;     server 127.0.0.1:1052;     server 127.0.0.1:1053; } 

在我的代码里面我对错误的处理是这个样子的

  1. 设置状态为 500
  2. 返回详细的 json

现在遇到了问题
只要我拼命导致这种 500 的请求
然会就会出现 502!
难道 nginx 判断上游是不是 fail,也使用了 500
我改成了 400 就不会 502 了

所以问题来的, upstream 判断上游 fail 到底有哪些条件?

大佬有話說 (12)

  • 資深大佬 : msg7086

    5 系是服务器崩溃或者出问题。4 系是客户端有病。没记错的话是这个规范,你可以去查查状态码分类含义。

  • 資深大佬 : also24

    你是否配置了 proxy_next_upstream 参数?

    我翻看了一下官方文档 http://nginx.org/en/docs/http/ngx_http_upstream_module.html#max_fails
    上面写的是:
    What is considered an unsuccessful attempt is defined by the proxy_next_upstream……

    再翻看 proxy_next_upstream 的说明
    http://nginx.org/en/docs/http/ngx_http_proxy_module.html#proxy_next_upstream

    默认参数只有 error 和 timeout,没有包含 http_50x

  • 主 資深大佬 : chenqh

    @also24 我个人是没有配置的,但是我用的是 bt 的 nginx,我也不敢确保到底配没有配了

  • 資深大佬 : also24

    @chenqh #3
    可以自己手动加入一下这个字段来覆盖参数试试看

  • 資深大佬 : Livid

    如果是用户输入了不合法的数据,后端程序本身没有因此崩溃的话,那么应该返回的状态码是 400 Bad Request。

  • 資深大佬 : also24

    @chenqh #3
    才反映过来你说的 bt 是宝塔啊,我找了个宝塔的服翻了下配置,确实是宝塔加了这一句

    它的 nginx 配置文件在:
    /www/server/nginx/conf/nginx.conf

    里面引用了:
    /www/server/nginx/conf/proxy.conf

    在这个文件里,配置了:
    proxy_next_upstream error timeout invalid_header http_500 http_503 http_404;

  • 主 資深大佬 : chenqh

    @also24 我刚刚居然没有找到

  • 資深大佬 : also24

    @chenqh #7
    其实不管它有没有加,自己在相应的 Server 字段里加好覆盖一下应该也是没问题的~

  • 主 資深大佬 : chenqh

    @also24 之前完全不会,之前只会配置 upstream, rewrite 都是今年学的

  • 資深大佬 : wangyzj

    全 200
    然后用自定义 code 来区分是我的习惯啊

  • 主 資深大佬 : chenqh

    @wangyzj 但是你这个样子有个问题,看浏览器监听的时候,不能快速知道你的东西错了

  • 資深大佬 : wangyzj

    @chenqh 主要还是个人习惯吧
    我之所以这么做是因为懒,还有就是因为我会也会把极严重问题改成 500,其他的 200,要不然总是红色我心脏受不了

文章導覽

上一篇文章
下一篇文章

AD

其他操作

  • 登入
  • 訂閱網站內容的資訊提供
  • 訂閱留言的資訊提供
  • WordPress.org 台灣繁體中文

51la

4563博客

全新的繁體中文 WordPress 網站
返回頂端
本站採用 WordPress 建置 | 佈景主題採用 GretaThemes 所設計的 Memory
4563博客
  • Hostloc 空間訪問刷分
  • 售賣場
  • 廣告位
  • 賣站?
在這裡新增小工具