`
ycsk
  • 浏览: 154727 次
  • 性别: Icon_minigender_1
  • 来自: 南京
社区版块
存档分类
最新评论

Nginx的sendfile报无效参数分析

阅读更多
今天观察Nginx的错误日志,发现有一些客户端下载文件时,报下列错误。
引用

2010/07/17 09:26:53 [alert] 505#0: *764839 sendfile() failed (22: Invalid argument),

为了查出原因,在服务器上对此请求的IP进行抓包分析,发现原来是HTTP包头中的Range字段有问题。

请求包头中的Range字段信息:
引用

Range: bytes=281851-

回应包头中的信息:
引用

Content-Length: -77764
Content-Range: bytes  281851-204086/204087


分析原因:
因为前段时间,nginx的perl模块程序写的有问题,导致用户取得的文件大小大于实际文件的大小。现在用户请求的起始偏移量大于文件的实际大小,导致sendfile报出了无效参数的错误。

解决方法:
修改模块程序,对起始偏移量与实际文件大小进行比较判断。
分享到:
评论

相关推荐

    nginx config file

    nginx config file xiangxishuoming

    nginx优化详细优化参数

    ### Nginx优化详细参数详解 #### 一、Nginx优化分类 在进行Nginx优化时,主要可以从两大方面入手:**安全优化**与**性能优化**。 1. **安全优化**:旨在提高网站的安全性,防止恶意攻击、信息泄露等安全问题。 2. ...

    nginx命令参数用法详细介绍

    nginx命令参数用法详细介绍 nginx命令:启动nginx  在Windows上安装好nginx后,我们需要启动nginx服务,启动nginx服务的命令行操作主要有两种方式,即 C:/nginx-0.8.53>nginx.exe  或者 C:/nginx-0.8.53>start ...

    自动reload nginx解决nginx对动态域名不重新解析的Shell脚本

    **自动Reload Nginx以解决动态域名解析问题** 在IT运维中,经常遇到的情况是,服务器上的服务IP可能会发生变化,特别是对于使用动态DNS服务的场景。Nginx作为一款广泛使用的反向代理和负载均衡器,它在配置文件中...

    nginx安装带配置和编译参数

    在Linux系统上安装Nginx涉及几个关键步骤,包括下载源码、配置参数、编译以及安装。以下是详细的步骤和注意事项。 ### 1. 获取Nginx源码 首先,你需要访问Nginx官方网站(https://nginx.org/en/download.html)下载...

    Nginx服务器中使用lua获取get或post参数.docx

    Nginx服务器中使用lua获取get或post参数 在Nginx服务器中,使用lua获取get或post参数是通过ngx_lua模块来实现的。ngx_lua模块是Nginx的一个第三方模块,提供了在Nginx中使用Lua语言的能力。 首先,我们可以使用ngx...

    k8s-修改ingress-nginx-controller中nginx配置文件参数参考

    k8s-修改ingress-nginx-controller中nginx配置文件参数参考

    在Nginx中使用X-Sendfile头提升PHP文件下载的性能(针对大文件下载)

    配置Nginx使用X-Sendfile时,首先要在Nginx配置文件中创建一个内部访问的location,比如`/protected/`,并设置相应的根目录,确保只有Nginx可以访问这些文件: ```nginx location /protected/ { internal; root /...

    nginx编译参数.doc

    本文将详细介绍Nginx编译时的一些关键参数,帮助你更好地理解和配置Nginx。 1. **基本配置参数**: - `--prefix=PATH`:指定Nginx的安装目录,默认通常是 `/usr/local/nginx`。 - `--sbin-path=PATH`:设定Nginx...

    nginx中带问号(?) 带参数的rewrite规则

    以下将详细介绍如何在Nginx中处理带参数的`rewrite`规则,以及如何去除或保留这些参数。 首先,`$query_string`变量包含了GET请求中的所有参数,而`$request_uri`则包含了原始URI,包括路径和查询字符串,但不包含...

    nginx所有参数详解 - 性能优化,突破五万并发.zip

    "nginx所有参数详解 - 性能优化,突破五万并发.zip"这个压缩包文件显然是针对Nginx服务器性能优化的一份详细资料,其目标是帮助用户理解并调整Nginx配置,以达到超过五万个并发连接的能力。 Nginx的配置参数众多,...

    Nginx 根据URL带的参数转发的实现

    当我们需要根据URL中的参数动态地将请求转发到不同的地址时,Nginx提供了一些内置变量和指令来帮助我们解析和处理URL。$request_uri变量包含了客户端请求的原始URI,可以用来匹配特定的URL模式。通过正则表达式匹配...

    nginx的try_file命令实现404跳转_nginx_tryfile404_

    如果所有列出的文件都不存在或者不可读,Nginx就会执行`fallback`参数指定的URI。`fallback`可以是一个URI,也可以是`=404`这样的特殊值,表示返回404 Not Found错误。 在实现404跳转的场景下,我们通常会设置一个...

    Nginx日志分析工具2.1.0.zip

    Nginx日志分析工具2.1.0是一款专为Windows平台设计的软件,用于高效地解析、统计和分析Nginx服务器产生的日志文件。Nginx作为一款高性能的Web服务器和反向代理服务器,广泛应用于各类网站和应用程序中。在日常运维...

    深入理解Nginx模块开发与架构解析(完整版)

    深入理解Nginx模块开发与架构解析(完整版) pdf,nginx必备知识

    深入理解Nginx:模块开发与架构解析-陶辉.mobi kindle版

    《深入理解Nginx:模块开发与架构解析》是阿里巴巴资深Nginx技术专家呕心沥血之作,是作者多年的经验结晶,也是目前市场上唯一一本通过还原Nginx设计思想,剖析Nginx架构来帮助读者快速高效开发HTTP模块的图书。...

    深入理解Nginx模块开发与架构解析 第2版

    《深入理解Nginx模块开发与架构解析》第二版是一本专为Nginx开发者和运维人员准备的深度学习资料。这本书旨在帮助读者全面掌握Nginx的核心原理、模块开发及系统架构,从而更好地利用Nginx进行高性能的Web服务构建。 ...

    深入理解Nginx模块开发与架构解析(第2版)

    《深入理解Nginx模块开发与架构解析(第2版)》是一本专注于Nginx技术的专业书籍,针对Nginx的内部工作机制和模块开发进行了深入的探讨。本书旨在帮助读者掌握Nginx的核心概念、架构设计以及如何进行模块开发,从而...

    深入理解Nginx:模块开发与架构解析

    《深入理解Nginx:模块开发与架构解析》首先通过介绍官方Nginx的基本用法和配置规则,帮助读者了解一般Nginx模块的用法,然后重点介绍如何开发HTTP模块(含HTTP过滤模块)来得到定制的Nginx,其中包括开发一个功能...

Global site tag (gtag.js) - Google Analytics