簡體   English   中英

從上游讀取響應 header 時,僅 POST API 給出 502 badgatway => recv() failed (104: Connection reset by peer)

[英]Only POST API giving 502 badgatway => recv() failed (104: Connection reset by peer) while reading response header from upstream

我正在使用 Gunicorn + Nginx(Kubernetes,入口)運行 Django。

我發現我們發出的特定 POST 請求有一個很長的響應字符串。 嘗試調試時,Nginx 似乎不接受基於長度的響應字符串 - 我可以傳遞短響應字符串,但同樣的問題。

我有與 GET 和 POST 相同的 API。 但是獲得帶有 1000 個請求的 API 沒有問題,但是發布帶有 300 個請求的 API 一些隨機請求 API 給出了 502 錯誤網關。 有關更多信息,請參閱隨附的屏幕截圖在此處輸入圖像描述

我在 Nginx 和 Gunicorn 網站上或通過谷歌搜索找不到任何關於此的信息。 有誰知道可能是什么問題?

在這里嘗試使用入口注釋來超時更改我目前使用的沒有遇到任何問題

apiVersion: extensions/v1beta1
kind: Ingress
metadata:
  annotations:
    cert-manager.io/cluster-issuer: dev
    kubernetes.io/ingress.class: nginx
    nginx.ingress.kubernetes.io/configuration-snippet: |
      if ($request_uri ~* \.(js|css|gif|jpe?g|png)) {
        expires 1M;
        add_header Cache-Control "public";
      }
    nginx.ingress.kubernetes.io/proxy-body-size: 50m
    nginx.ingress.kubernetes.io/proxy-read-timeout: "2000"
    nginx.ingress.kubernetes.io/proxy-send-timeout: "2000"
    nginx.ingress.kubernetes.io/rewrite-target: /
  name: test-ingress
  namespace: default
spec:
  rules:
  - host: example.com
    http:
      paths:
      - backend:
          serviceName: service-name
          servicePort: 80

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM