chunked

在 Nginx 中使用 gzip static on / sendfile 时强制分块传输?
chunked

在 Nginx 中使用 gzip static on / sendfile 时强制分块传输?

Nginx 似乎在发送预压缩文件时禁用分块gzip_static on 有没有什么技巧可以强制分块?分块似乎给一些浏览器带来了渲染速度更快的错觉,因为它们可能会使用分块点作为渲染刷新点。 HTTP/1.1 应该允许任何文件以分块形式发送,无论是否静态。 或者这可能是 sendfile OS 加速的限制? ...

Admin

如果我仅处理 GET 请求,是否需要处理分块 HTTP 请求?
chunked

如果我仅处理 GET 请求,是否需要处理分块 HTTP 请求?

我正在编写一个 Netty 服务器,来处理来自浏览器的 HTTP GET 请求以提供脚本或像素。 我的理解是,我没有理由收到分块请求,因为我所需要的只是 URI 或 cookie,但浏览器是否有可能分块请求? (顺便说一下,我甚至不知道是否可以对标题进行分块) ...

Admin

Apache2 中可能存在的错误
chunked

Apache2 中可能存在的错误

我花了整整 8 个小时来追踪这个问题,但我仍然不太明白发生了什么,所以我希望有人可以向我解释这个问题或者确认这是一个错误,这样我就可以向 Apache 开发人员开具一张票据让他们知道。 我有一个 Ubuntu 20.04.2 LTS / Apache 2.4.41 / mod_wsgi 4.6.8 / Django 3.1 网络服务器,最近开始出现一些间歇性块编码问题。我在 Chrome 开发控制台中收到“ERR_INCOMPLETE_CHUNKED_ENCODING”。它只影响一个特别大的 .js 静态文件(~220Kb),所以我把它当作只有那个文件受到影...

Admin

如何消除 NginX 的分块响应延迟?
chunked

如何消除 NginX 的分块响应延迟?

我们在 Java Web 服务器前面级联了两个 NginX 反向代理。 第一个代理在 FreeBSD (11.1-RELEASE-p10) 负载均衡器上运行,并将所有互联网流量代理到内部网络。有两个这样的负载均衡器。它们具有相同的配置: location / { proxy_pass http://app_servers; proxy_set_header X-Request-ID $request_id; proxy_set_header Host $host; proxy_set_head...

Admin

Nginx:当客户端发送的分块主体超出所需大小时断开连接
chunked

Nginx:当客户端发送的分块主体超出所需大小时断开连接

在 nginx 中有以下指令client_max_body_size: 设置客户端请求主体的最大允许大小,在“Content-Length”请求标头字段中指定。如果请求中的大小超出配置的值,则会向客户端返回 413(请求实体太大)错误。 正如它所说,当请求中提供了 Content-Length 时,会使用它。我使用 nginx 作为反向代理。不幸的是,我对特定 URI 的 nodejs 实现需要提供 POST 正文Transfer-Encoding: chunked——否则它会中断。我仍然需要限制接受的正文大小以防止 DoS。如果正文中发送了太多...

Admin

Chrome HTTP2 请求无法完成大型 gzip 文件(Apache)
chunked

Chrome HTTP2 请求无法完成大型 gzip 文件(Apache)

我最近在 Ubuntu 16.04 上将 Aapche 升级到 2.4.26 (ondrej ppa)。默认情况下,模块deflate和http2已启用。 在 Chrome 上,当提供大型 JS 文件时,请求根本无法完成,并在net::ERR_CONNECTION_CLOSED经过很长时间后失败(本质上是 ApacheTimeout设置指定的时间)。在 Firefox 上,一切都运行正常。 我尝试过 我在故障排除过程中观察到: 小型 JS 文件工作正常。我的大型 JS 文件为 259.43KB(gzip 压缩后为 75.78KB) 如果我在 Apa...

Admin

在 Apache 反向代理中使用 AddOutputFilterByType 时出现 ERR_INCOMPLETE_CHUNKED_ENCODING
chunked

在 Apache 反向代理中使用 AddOutputFilterByType 时出现 ERR_INCOMPLETE_CHUNKED_ENCODING

我正在尝试使用 Docker 在 Apache2 反向代理后面建立一个 Shopware 网站。由于 Shopware 软件出于某种原因将其后端主机“http://127.0.0.1:18084“进入它发送到浏览器的 JavaScript,我尝试使用 mod_substitute 将其替换为外部主机名: ProxyPass / http://127.0.0.1:18084/ ProxyPassReverse / http://127.0.0.1:18084/ <Location /> AddOutputFilterByType SUB...

Admin

对 Varnish 的分块响应进行解块
chunked

对 Varnish 的分块响应进行解块

我有一个数据库查询工具,它返回的数据采用 Transfer-encoding: chunked。我想使用现有的 varnish 基础架构来缓存来自此工具的响应,但 varnish 拒绝缓存分块文档。在 varnish 和工具本身之间,有 nginx 代理,但我找不到任何方法让它取消分块响应。是否有针对 nginx 或任何其他类似代理的解决方案,基本上可以执行以下操作: 从后端获取响应,如果响应被分块,则将其缓冲到预设大小 如果响应在达到限制之前结束,则将其重新打包为单个对象而不进行分块,并使用适当的 Content-Length 发送出去 如果响应没有结...

Admin

通过 nginx 获取分块请求
chunked

通过 nginx 获取分块请求

首先介绍一些背景知识:我们有一个嵌入式设备,它会将大量小事件上传到 Web 服务器。我们使用分块编码来发布这些信息。每个事件都作为单独的块发送,因此 Web 服务器 (node.js) 可以立即对事件做出反应。所有这些都运行良好。 禁用服务器并在服务器上运行 netcat 显示设备发送的内容: sudo nc -l 8080 POST /embedded_endpoint/ HTTP/1.1 Host: url.com User-Agent: spot/33-dirty Transfer-Encoding: chunked Accept: text/x-...

Admin

为什么我的分块请求会删除尾随的 CRLF?
chunked

为什么我的分块请求会删除尾随的 CRLF?

我花了 10 个小时试图弄清楚为什么我的 http 请求在执行以下任务时失败 request.Content.ReadAsMultipartAsync().Result.Contents 它一直返回错误: Unexpected end of MIME multipart stream. MIME multipart message is not complete. 经过几个小时的研究,我终于发现请求没有结尾的 CRLF,而 .Net 显然需要它来确定请求的结尾。当我添加自己的 CRLF 时,一切都很顺利。 在 WireShark 中,我查看了其...

Admin

使用 Apache 作为分块编码和摘要身份验证的代理
chunked

使用 Apache 作为分块编码和摘要身份验证的代理

我遇到了一个奇怪的问题。我使用 Apache 作为代理,并使用分块编码提交数据。问题是,当我尝试在此配置中使用摘要身份验证时,代理会挂起并最终超时。请求永远不会到达位于 Apache 后面的服务器。 下面是我的基本的 Apache 配置。 <VirtualHost *:80> SetEnv proxy-sendcl 1 SetEnv proxy-nokeepalive 1 ProxyPass / http://localhost:8000/ timeout=0 ProxyPassReverse / http:/...

Admin

Nginx 反向代理重新打包分块响应
chunked

Nginx 反向代理重新打包分块响应

我正在运行 nginx/1.1.19: # nginx -V nginx version: nginx/1.1.19 TLS SNI support enabled configure arguments: --prefix=/etc/nginx --conf-path=/etc/nginx/nginx.conf --error-log-path=/var/log/nginx/error.log --http-client-body-temp-path=/var/lib/nginx/body --http-fastcgi-temp-path=/var/li...

Admin

Nginx 未输出正确的分块响应
chunked

Nginx 未输出正确的分块响应

我有一个带有 expressjs 的后端,它对一些端点做出了部分响应。 伪代码如下: function (req, res, next) { res.writeHead(200, { 'Content-Type': 'application/json' }); request.a.file(function response (middleChunk) { res.write(middleChunk); }, function final (endingChunk) { res.end(endingChunk); })...

Admin

重新编译了 Nginx 1.1.19 以进行分块上传,但仍然不起作用......
chunked

重新编译了 Nginx 1.1.19 以进行分块上传,但仍然不起作用......

我无法让分块上传正常工作。即使重新编译 Nginx 也是如此。我在 ubuntu 12.04 上使用 nginx 1.1.19。我下载了 nginx 1.1.19 的源代码和分块上传模块,并按如下方式进行编译。 ./configure --prefix=/etc/nginx --sbin-path=/usr/sbin/nginx --user=www-data --group=www-data --conf-path=/etc/nginx/nginx.conf --conf-path=/etc/nginx/nginx.conf --error-log-pa...

Admin