【问题标题】:Nginx seems to double size of URI (path+query) when sending to uWsgi发送到 uWsgi 时,Nginx 似乎将 URI(路径+查询)的大小加倍
【发布时间】:2021-08-12 02:30:17
【问题描述】:

在 uWsgi 上使用 Nginx 和默认协议(大概是 uwsgi):

  • 当您通过 Nginx 发送具有长路径的请求时,例如 4k 个字符, 然后 uWsgi 报告一个大小约为 8k 的缓冲区。
  • 对于带有长查询参数的短路径也是如此。
  • 当您发送大小为 4k 的标头变量时,情况并非如此。

为什么不一样? Nginx 是怎么做的?

这样做的最终结果是您需要将 uWsgi 中的 buffer-size / -b 参数加倍以匹配 Nginx 中的 large_client_header_buffers 值。

在我这样做之前,我想知道为什么会这样,也许我可以通过 Nginx 中的一些其他奇怪的配置来避免它(比如pointlessly_duplicate_the_path=False

【问题讨论】:

    标签: nginx uwsgi nginx-config


    【解决方案1】:

    我遇到的问题是因为有人在我不注意的时候偷偷进入了一对uwsgi_param 设置,将$request_uri$query_string 作为单独的变量发送到uWsgi。

    简而言之:如果您这样做,请意识到您有违反 buffer-size 设置的风险(如果您不接受您将 URL 加倍的事实)

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2017-01-25
      • 1970-01-01
      • 1970-01-01
      • 2022-12-14
      • 2020-07-14
      • 1970-01-01
      • 2021-01-08
      相关资源
      最近更新 更多