【Azure App Service】PHP页面上传文件413错误的解决方案

简介: 在使用 Azure App Service(Linux + PHP) 部署 Web 应用时,如果上传文件大于1MB,就会遇到 HTTP 413(Request Entity Too Large) 错误。 # 问题解答 ### 一、HTTP 413 错误的本质含义 413 Request Entity Too Large 是标准 HTTP 状态码,表示: > 客户端提交的请求体(Request Body)大小超过了服务器当前允许的最大限制。 在 Azure App Service(Linux)环境中,这个错误并不一定来自前端网关(Frontend),而更常见的来源是 App...

问题描述

在使用 Azure App Service(Linux + PHP) 部署 Web 应用时,如果上传文件大于1MB,就会遇到 HTTP 413(Request Entity Too Large) 错误。

错误截图

问题解答

一、HTTP 413 错误的本质含义

413 Request Entity Too Large 是标准 HTTP 状态码,表示:

客户端提交的请求体(Request Body)大小超过了服务器当前允许的最大限制。

在 Azure App Service(Linux)环境中,这个错误并不一定来自前端网关(Frontend),而更常见的来源是 App Service 容器内部的 Web Server(如 Nginx)或运行时(如 PHP)。


二、Nginx 默认的 client_max_body_size 限制

在 Linux App Service 中,平台内置 Nginx 作为 Web Server。
Nginx 会在请求到达应用之前,对请求体大小进行校验。

  • 当上传文件大小超过 Nginx 允许的最大值时(Nginx 对上传请求体大小的默认限制为 1 MB,需要通过 client_max_body_size 参数修改大小)
  • Nginx 会直接返回 413, 请求不会进入 PHP

如果未显式配置,该值通常较小,不适合文件上传场景。通过自定义 Nginx 配置,将其调整为更大的值(例如 20MB),即可解除这一层限制。


解决方案

修改 App Service默认Nginx的client_max_body_size参数

第一步:把App Service默认的Nginx配置复制到home/site/wwwroot目录中

进入kudu,选择SSH到Application, 执行cp命令
cp /etc/nginx/sites-available/default /home/site/wwwroot/default

操作截图:

第二步:添加client_max_body_size参数并设置为20M

在Kudu页面的File Manager中,进入home/site/wwwroot目录中,选择default文件,直接UI上添加(client_max_body_size 20M;)后保存。

操作截图:

第三步:覆盖nginx default配置并重启

因修改了默认的nginx配置,为了使得配置生效,需要用新的配置文件覆盖默认配置,并重启nginx服务。使用如下命令:

cp /home/site/wwwroot/default /etc/nginx/sites-available/default && service nginx reload

此命令将默认 NGINX 配置文件替换为存储库根目录中命名 default 的文件,并重新启动 NGINX。

操作截图


结论

完成以上三步之后,刷新php应用的上传页面,再次上传小于20MB的文件,成功。

参考资料

Azure App Service(Linux)自定义 Nginx 配置
https://learn.microsoft.com/azure/app-service/configure-language-php?pivots=platform-linux#change-the-site-root

Nginx 官方文档:client_max_body_size
https://nginx.org/en/docs/http/ngx_http_core_module.html#client_max_body_size

Syntax: client_max_body_size size;
Default: client_max_body_size 1m;
Context: http, server, location
Sets the maximum allowed size of the client request body. If the size in a request exceeds the configured value, the 413 (Request Entity Too Large) error is returned to the client. Please be aware that browsers cannot correctly display this error. Setting size to 0 disables checking of client request body size.

相关文章
|
人工智能
上车吧,1000+claw概念域名来袭!
风口真正值钱的,从来不是最热闹的那一天,而是热闹之后,产品开始成片长出来的那一刻…
|
9天前
|
人工智能 数据可视化 机器人
OpenClaw一键部署攻略,手把手教你 “养龙虾”!
还在为部署OpenClaw踩坑发愁?“养龙虾”其实超简单!本文奉上阿里云一键云端部署攻略:全程可视化、零代码,仅两步——买预装服务器+填API密钥,5分钟即可拥有专属AI数字员工!支持微信/钉钉协同、文件处理、日程管理、代码辅助等,新手友好,成本低廉(新用户首月9.9元+7000万Token免费额度)。
322 25
|
1天前
|
人工智能 自然语言处理 安全
阿里云QoderWork是什么?桌面AI智能体,一条指令,生成文档、表格、图表与幻灯片!
阿里云QoderWork是国产首个桌面AI智能体,本地运行、隐私安全。一句话指令即可自动完成文件整理、数据分析、文档生成等任务,真正“你说需求,它交付结果”。支持Mac/Windows,现已全面开放。
98 3
|
11天前
|
人工智能 Linux API
VS Code 1.113 发布:Agent 与 Chat 体验全面升级!
VS Code 1.113 正式发布!聚焦AI开发体验升级:全面增强Agent能力(支持CLI/Claude代理的MCP、会话分支、嵌套子代理、调试日志),优化Chat体验(统一自定义编辑器、模型推理努力直调、图像预览查看器),大幅提升智能编程效率。
281 11
|
19天前
|
人工智能 自然语言处理 监控
不用写代码,分钟级部署OpenClaw!阿里云一键部署,两步极速搞定!
阿里云OpenClaw一键部署方案,零代码、两步操作即可拥有能“动手”的专属AI智能体!无需环境配置,可视化完成部署与IM对接,支持邮件处理、内容选题、文件同步等真实场景自动化,新用户年付仅68元,轻松打造高性价比“数字员工”。
237 1
|
8天前
|
Kubernetes 网络协议 文件存储
Docker镜像拉了一下午还没完?我受够了,花了一周找替代方案
上周拉镜像卡在47%两小时?试遍阿里云、高校源、GitHub清单全失效。直到发现「毫秒镜像」——宝塔、爱快、绿联NAS已原生集成,金融级客户背书。一行命令安装,3秒拉完nginx,全仓库加速(Docker Hub/gcr/ghcr/k8s等),含DNS自诊。免费版够用,稳定不跑路。
353 18
|
3天前
|
人工智能 弹性计算 安全
OpenClaw是什么?OpenClaw能做什么?OpenClaw详细介绍及保姆级部署教程
2026年爆火的开源AI智能体OpenClaw(昵称“小龙虾”),是首个本地化、跨平台的“数字员工”,能自主执行邮件处理、代码编写、智能家居控制等任务。60天GitHub星标破34万,获黄仁勋、Karpathy盛赞。本文提供阿里云一键部署教程,零代码快速上手!
294 11
|
9天前
|
弹性计算 5G 云计算
2026年阿里云秒杀活动全攻略:时间、入口、抢购技巧
阿里云2026秒杀活动升级上线!新用户专享轻量服务器38元/年、9.9元/月起,每日10:00/15:00两场抢购。含实名认证要求、抢购技巧及68元/年起备选方案,助你低成本高效上云!
185 18
|
11天前
|
人工智能 弹性计算 自然语言处理
OpenClaw是什么?阿里云OpenClaw一键部署官方教程(原Clawdbot/Moltbot)
2026年,开源AI智能体OpenClaw(“龙虾AI”)爆火。它是一款遵循MIT开源协议的AI自动化引擎与个人助手平台,能将大模型从“对话”变为“执行任务”。其核心架构由网关、智能体、技能和记忆构成,可自主行动、跨平台协同且高度可扩展。阿里云提供官方镜像一键部署方案,新用户首月服务器成本9.9元,还有大模型免费额度。
561 21
下一篇
开通oss服务