我有一个在Nginx代理后面运行的Django REST Framework应用程序,我们有一个重定向到该应用程序中的一个URL的第三方服务。当重定向发生时,我从此端点获取502,并将其范围缩小到Referer header 太大。我的逻辑如下:

  • 重定向发生时接收502
  • 使用所有查询参数在本地命中链接将返回预期的响应
  • 添加Referer header (相当大)会触发502
  • 删除Referer header 的一半将使我们返回到预期结果

  • 我尝试增加uwsgi缓冲区大小和nginx代理缓冲区。

    最佳答案

    经过数小时的尝试后,原因实际上是uwsgi缓冲区大小不够高,即使我将其翻了三倍也是如此。对于那些不知道的,您需要添加:

    buffer-size=32768
    

    该数字是适用于您的用例的一些字节数。默认值为4096。

    关于http - 如何在大型 header 上修复Nginx 502错误网关?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/49911758/

    10-10 13:52