首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >Nginx - proxy_request_buffering off上的节点不适用于https?超慢https图像上传

Nginx - proxy_request_buffering off上的节点不适用于https?超慢https图像上传
EN

Server Fault用户
提问于 2022-10-18 11:30:01
回答 1查看 412关注 0票数 0

我有一个节点服务器作为反向代理运行在nginx上,它应该处理图像上传。它的ssl证书和域是通过cloudflare配置的。

除了将proxy_pass设置为将443个请求传递给本地主机上的节点之外,我没有更改默认配置。我在http块底部设置的更显着的nginx指令是:

代码语言:javascript
运行
复制
# Disabled nginx testing for overweight requests - handled in node
client_max_body_size 0;     

# Request and response buffering disabled - to try and be able to reject overweight requests in node ASAP 
proxy_request_buffering off;   
proxy_buffering off;    

# Enabled to avoid buffering http 1.1 chunked if sent 
proxy_http_version 1.1;     

# Disabled writing responses to a file 
proxy_max_temp_file_size 0; 

无论使用哪个客户端--postman/失眠症/axios-当通过http发送以4MB映像作为属性之一的表单数据请求时,请求在大约100 is (即great.However )之后到达第一个节点中间件,当通过https发送相同请求时,到达第一个节点中间件大约需要4秒。4秒大约是发送整个请求(文件)所需的时间。

当将GET请求发送到返回200 OK响应的简单端点时,http和https调用所需的解析时间相似--在100 as内-- http稍为faster.That,这使我相信,发送表单数据请求时所观察到的巨大开销是由nginx接收到的https请求没有立即传递到节点服务器造成的。

当我启用nginx client_max_body_size指令并将其设置为256 K时。同样的问题也出现了-- http调用被拒绝,在经过合理的~100 is之后,来自nginx的413响应被拒绝,而https请求需要大约4秒才能收到413次拒绝。

我已经测试了一系列不同的指令配置,但没有显著影响https的上传速度。在这一点上,我的想法快用完了,我很想知道是什么原因造成的,以及解决方案是什么。干杯!

EN

回答 1

Server Fault用户

发布于 2022-10-18 14:11:27

  1. 代理缓冲只适用于任何方案。
  2. 代理缓冲通常会加速整个过程,而不是减慢速度。所以我想你是在指责错误的原因。
  3. 4MB的图像大小通常不符合“公共互联网上的图像”的整个概念,除非你在美国宇航局的网站上安装了James Webb高分辨率照片,所以缩小它们并确保您使用的是压缩(要么感觉到JPEgs,要么允许对非压缩光栅格式进行压缩)。
  4. 我还会确保您操作的反向代理使用的是缓存,这样它就不会在每次被请求时重新下载这些巨大的图片(而且开箱即用的nginx附带了一个禁用的)。
票数 0
EN
页面原文内容由Server Fault提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://serverfault.com/questions/1113356

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档