Git Push 失败:HTTP 413 Request Entity Too Large

Git Push 失败:HTTP 413 Request Entity Too Large 问题排查

在使用 Git 推送包含较大编译产物的项目时,你是否遇到过 HTTP 413 Request Entity Too Large 错误?这通常并不是 Git 的问题,而是 Web 服务器(如 Nginx)拒绝接收大体积请求。本文将通过一个完整案例,演示如何使用 curl 工具验证服务器限制,最终通过宝塔面板修改 Nginx 配置解决问题,实现大文件 Git 推送成功。适用于使用 Gitblit、Gitea 或任何基于 Nginx 部署的私有 Git 服务环境。


一、问题描述

在使用 Git 推送一个包含编译产物的仓库时,推送失败,报错如下:

error: RPC failed; HTTP 413 curl 22 The requested URL returned error: 413
send-pack: unexpected disconnect while reading sideband packet
fatal: the remote end hung up unexpectedly

Git GUI (SourceTree) 中显示:

POST git-receive-pack (287021804 bytes)
error: RPC failed; HTTP 413

在这里插入图片描述


二、初步分析

HTTP 413 代表“请求体过大”,通常是服务端拥有上传大小限制。可能的源有两个:

  • Git 服务本身限制 (Gitblit/Gitea/GitLab)
  • Web 服务器如 Nginx 或 Apache 进行的前置限制

为了确认问题所在,我们进行下面的演示性测试。


三、演示测试: curl 模拟上传

步骤1: 创建大文件 (300MB)

在 PowerShell 中执行:

fsutil file createnew bigfile.test 314572800

步骤2: 使用 curl.exe 模拟 POST 上传

curl.exe -v -X POST http://域名/ -H "Expect:" --data-binary "@bigfile.test"

结果:

HTTP/1.1 413 Request Entity Too Large
Server: nginx

确认限制来自 Nginx,Git 本身无问题。

在这里插入图片描述

步骤3: 创建小文件 (1KB)

fsutil file createnew smallfile.test 1024

重复 curl POST 测试,结果成功,显示 Gitblit 网页内容,证明小文件能正常处理。

在这里插入图片描述


四、解决方案:修改 Nginx 配置 (宝塔面板)

操作步骤

  1. 打开宝塔面板后台 (http://你的IP:8888)

  2. 点击左侧「软件商店」,找到 Nginx

  3. 点击「配置修改」或「配置文件」

  4. 找到 http { 块,加入:

    client_max_body_size 512m;  # 允许最大上传体积为 512MB
    
  5. 保存配置

  6. 回到 Nginx 设置界面,重载配置或重启 Nginx

实际配置示意图

在这里插入图片描述

http {include       mime.types;default_type  application/octet-stream;client_max_body_size 512m;sendfile        on;keepalive_timeout  60;...
}

五、重试 Git 推送

配置重载后,再次执行 Git push,推送包大小达 274MB,已成功,问题解决。

在这里插入图片描述


六、总结与建议

操作步骤结果
curl 模拟上传 bigfile.test报 413,确认 Nginx 限制
curl 上传 smallfile.test成功返回 Gitblit 页面
修改 Nginx 配置重载后 push 成功

建议:

  • 尽量不要推送编译产物 (.dll/.lib/.pdb)
  • 使用 .gitignore或 Git LFS 管理大文件
  • 一旦推送无法成功,优先检查 Nginx/选项配置

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.pswp.cn/web/81703.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

docker-记录一次容器日志<container_id>-json.log超大问题的处理

文章目录 现象一、查找源头二、分析总结 现象 同事联系说部署在虚拟机里面的用docker启动xxl-job的服务不好使了&#xff0c;需要解决一下&#xff0c;我就登陆虚拟机检查&#xff0c;发现根目录满了&#xff0c;就一层一层的找&#xff0c;发现是<container_id>-json.l…

Ubuntu 24.04 LTS 和 ROS 2 Jazzy 环境中使用 Livox MID360 雷达

本文介绍如何在 Ubuntu 24.04 LTS 和 ROS 2 Jazzy 环境中安装和配置 Livox MID360 激光雷达&#xff0c;包括 Livox-SDK2 和 livox_ros_driver2 的安装&#xff0c;以及在 RViz2 中可视化点云数据的过程。同时&#xff0c;我们也补充说明了如何正确配置 IP 地址以确保雷达与主机…

电脑开机后长时间黑屏,桌面图标和任务栏很久才会出现,但是可通过任务管理器打开应用程序,如何解决

目录 一、造成这种情况的主要原因&#xff08;详细分析&#xff09;&#xff1a; &#xff08;1&#xff09;启动项过多&#xff0c;导致系统资源占用过高&#xff08;最常见&#xff09; 检测方法&#xff1a; &#xff08;2&#xff09;系统服务启动异常&#xff08;常见&a…

uniapp地图map支付宝小程序汽泡显示

先看原文地址&#xff1a;map | uni-app官网 气泡的显示&#xff0c;可以使用callout和label两个属性 但是如果想要气泡默认显示&#xff0c;而不是点击显示&#xff0c;则用label

信创 CDC 实战 | OGG、Attunity……之后,信创数据库实时同步链路如何构建?(以 GaussDB 数据入仓为例)

国产数据库加速进入核心系统&#xff0c;传统同步工具却频频“掉链子”。本系列文章聚焦 OceanBase、GaussDB、TDSQL、达梦等主流信创数据库&#xff0c;逐一拆解其日志机制与同步难点&#xff0c;结合 TapData 的实践经验&#xff0c;系统讲解从 CDC 捕获到实时入仓&#xff0…

Python爬虫实战:研究Selenium框架相关技术

1. 引言 1.1 研究背景与意义 随着互联网的快速发展,网页数据量呈爆炸式增长。从网页中提取有价值的信息成为数据挖掘、舆情分析、商业智能等领域的重要基础工作。然而,现代网页技术不断演进,越来越多的网页采用 JavaScript 动态加载内容,传统的基于 HTTP 请求的爬虫技术难…

【CSS border-image】图片边框拉伸不变形,css边框属性,用图片打造个性化边框

当用图片做边框时&#xff0c;还要考虑到一个问题&#xff0c;如何适应边框的宽高变化&#xff0c;并且图片不变形&#xff1f;本文深入解析 CSS border-image&#xff0c;用图片打造个性化边框。下图的效果就是利用border-image属性实现的图片边框自适应。 本文将border-imag…

14. LayUI与Bootstrap框架使用

引言 在前端开发中,UI框架可以大大提高开发效率。今天我将对比学习两个流行的前端UI框架:LayUI和Bootstrap。这两个框架各有特点,分别适用于不同的场景。 1. 框架概述 LayUI LayUI是一款国产的前端UI框架,由贤心开发,特点是轻量、简单、易用。它采用了经典的模块化方式…

购物车系统的模块化设计:从加载到结算的全流程拆解

购物车系统的模块化设计:从加载到结算的全流程拆解? 一、购物车信息分页加载模块:大数据量下的流畅体验二、商品信息展示三、购物车管理模块:操作逻辑的闭环设计四、商品金额计算模块:实时同步的动态数据中心在电商应用中,购物车页面是用户操作最频繁的核心场景之一。合理…

Veeam Backup Replication Console 13 beta 备份 PVE

前言 通过Veeam Backup & Replication控制台配置与Proxmox VE&#xff08;PVE&#xff09;服务器的连接&#xff0c;包括主机地址、用户名密码和SSH信任设置。随后详细说明了部署备份Worker虚拟机的步骤&#xff0c;涵盖网络配置和VM创建。接着指导用户创建PVE虚拟机备份任…

C++ 写单例的办法

先在头文件声明&#xff1a; 声明一个COemInstancer的 _this指针&#xff1a; static COemInstance* _this; .然后在文件外层这样写&#xff1a; #define CXXModule COemInstance::instance() #define ExecuteCommand(ClassName,RunCommand) class Tempclass##ClassName\ …

ETL工具:Kettle,DataX,Flume,(Kafka)对比辨析

1. 各自特点 Kettle&#xff1a; 侧重数据处理与转换&#xff1a;具备强大的数据转换和处理能力&#xff0c;能对数据进行清洗&#xff08;如去除重复值、处理缺失值 &#xff09;、转换&#xff08;如数据类型转换、计算派生字段 &#xff09;、过滤等操作。例如&#xff0c…

28、请求处理-【源码分析】-请求映射原理

28、请求处理-【源码分析】-请求映射原理 Spring Boot 的请求映射原理主要基于 Spring MVC 框架&#xff0c;通过 DispatcherServlet 前端控制器实现。以下是详细的请求映射过程&#xff1a; ### 1. 请求进入 DispatcherServlet 当客户端发送请求时&#xff0c;首先由 Dispatch…

Java设计模式之解释器模式详解

Java设计模式之解释器模式详解 一、解释器模式核心思想 核心目标&#xff1a;定义语言的文法规则&#xff0c;并构建解释器来解释语言中的句子。如同编译器将源代码转换为可执行代码&#xff0c;解释器模式将领域特定语言&#xff08;DSL&#xff09;的表达式解释为可执行操作…

electron开发百度桌面应用demo及如何打包应用

1.开发入口文件main.js 1-1 加载百度URL const { app, BrowserWindow, nativeImage } require(electron) const path require(node:path)const createWindow () > {const win new BrowserWindow({width: 800,height: 600,})//加载百度URLwin.loadURL(https://www.baid…

LiveGBS海康、大华、宇视、华为摄像头GB28181国标语音对讲及语音喊话:摄像头设备与服务HTTPS准备

LiveGBS海康、大华、宇视、华为摄像头GB28181国标语音对讲及语音喊话&#xff1a;摄像头设备与服务HTTPS准备 1、背景2、准备工作2.1、服务端必备条件&#xff08;注意事项&#xff09;2.2、语音对讲设备准备2.2.1、大华摄像机2.2.2、海康摄像机 3、开启音频并开始对讲4、相关问…

JWT安全:假密钥.【签名随便写实现越权绕过.】

JWT安全&#xff1a;假密钥【签名随便写实现越权绕过.】 JSON Web 令牌 (JWT)是一种在系统之间发送加密签名 JSON 数据的标准化格式。理论上&#xff0c;它们可以包含任何类型的数据&#xff0c;但最常用于在身份验证、会话处理和访问控制机制中发送有关用户的信息(“声明”)。…

# Python 语音助手本地的ollama实现

项目简介 本项目是一个基于 Python 的智能语音助手&#xff0c;集成了语音录制、语音识别、AI对话和语音合成功能。用户可以通过语音与本地部署的 Ollama 大模型进行自然对话。 技术架构 核心功能模块 语音录制 - 使用 sounddevice 录制用户语音语音识别 - 使用 faster-whi…

第1章第1节:安全运维基础思维与体系建设-安全运维的定义与核心目标

&#x1f3af; 实战目标&#xff1a; 理解“安全运维”与传统运维的本质区别 掌握安全运维的核心目标与价值定位 建立以“持续可控、可视可审、自动响应”为核心的思维框架 &#x1f4d6; 背景知识&#xff1a; ✅ 传统运维 vs 安全运维 传统运维关注&#xff1a;系统稳定、…

LNMP 架构部署

目录 一、基于授权的访问控制 &#xff08;一&#xff09;功能简介 &#xff08;二&#xff09;配置步骤 二、基于客户端的访问控制 &#xff08;一&#xff09;功能简介 &#xff08;二&#xff09;配置步骤 三、Nginx 虚拟主机 &#xff08;一&#xff09;基于域名的…