You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Nginx代理Windows Server上IIS站点出现NS_ERROR_NET_PARTIAL_TRANSFER部分传输故障求助

Nginx代理Windows Server上IIS站点出现NS_ERROR_NET_PARTIAL_TRANSFER部分传输故障求助

你遇到的这个NS_ERROR_NET_PARTIAL_TRANSFER问题确实挺闹心的——只在Nginx代理Windows Server系列的IIS站点时触发,直接访问IP或者用Windows 10上的IIS就完全正常,说明问题大概率出在Nginx和Windows Server IIS的交互逻辑上。结合你的排查情况,给你几个针对性的解决方向:

  • 调整Nginx代理的缓冲与连接参数
    Windows Server的TCP/IP栈和Nginx默认的代理参数可能存在兼容性问题,试试在Nginx的location配置里添加这些参数:

    location / {
        proxy_pass http://你的IIS服务器IP;
        proxy_http_version 1.1;
        proxy_set_header Connection "";
        proxy_buffering on;
        proxy_buffer_size 16k;
        proxy_buffers 4 64k;
        proxy_busy_buffers_size 128k;
    }
    

    开启缓冲能避免Nginx和IIS之间的连接过早中断,HTTP/1.1配合空Connection头可以复用连接,减少因频繁断开重连导致的部分传输失败。

  • 检查Windows Server的TCP与IIS响应设置

    • 调整TCP Keep-Alive参数:打开注册表编辑器,定位到HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters,新建或修改两个DWORD值:KeepAliveTime设为十进制30000(30秒)、KeepAliveInterval设为十进制1000(1秒),重启服务器后生效。这个设置能让TCP连接保持更稳定,避免被过早回收。
    • 检查IIS的响应标头:如果IIS里强制设置了Connection: close,会导致每次请求都断开连接,很容易触发部分传输问题,找到这个标头并删除即可。
  • 深挖日志找线索

    • 临时开启Nginx的debug日志(注意别长期开,影响性能),在nginx.conf里修改:
      error_log /var/log/nginx/error.log debug;
      
      查看日志里有没有连接断开、传输中断的详细报错,能帮你定位是Nginx主动断开还是IIS那边出了问题。
    • 查看IIS的日志(默认路径C:\inetpub\logs\LogFiles),检查失败请求的状态码、响应长度,确认IIS是否完整处理了请求。
  • 尝试更换Nginx版本或代理配置
    有些特定版本的Nginx和Windows Server的TCP栈兼容性不佳,试试升级到最新稳定版或者降级到之前的成熟版本。另外,确保Nginx的proxy_pass配置里加上proxy_set_header Host $host;,避免IIS因收到错误的Host头而返回不完整的响应。

  • 排查网络层限制
    虽然你已经关了防火墙和Defender,但可以检查服务器上有没有第三方安全工具在后台运行,或者所在网络的交换机、路由器有没有开启TCP分段限制、MTU值过小的情况——试试把服务器的MTU改成1400(默认一般是1500),测试是否能解决问题。

备注:内容来源于stack exchange,提问作者Dylan D

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.04.20 10:45:26