news 2026/4/14 22:25:46

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

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
【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 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.

当在复杂的环境中面临问题,格物之道需:浊而静之徐清,安以动之徐生。 云中,恰是如此!

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/4/14 22:25:31

线索二叉树实战:从原理到代码实现(前/中/后序全解析)

1. 线索二叉树的核心价值 第一次接触线索二叉树时,我被它巧妙的设计震撼到了。想象一下图书馆的书架管理系统:普通二叉树就像把所有书籍随机摆放,每次找书都要从第一本开始翻找;而线索二叉树则像给每本书都贴上了"前一本&quo…

作者头像 李华
网站建设 2026/4/14 22:25:17

如何在5分钟内部署完整的PPTist在线演示文稿编辑器

如何在5分钟内部署完整的PPTist在线演示文稿编辑器 【免费下载链接】PPTist PowerPoint-ist(/pauəpɔintist/), An online presentation application that replicates most of the commonly used features of MS PowerPoint, allowing for the editing …

作者头像 李华
网站建设 2026/4/14 22:25:15

自媒体做到第6个月,我才发现“选题”比“文笔”重要100倍

刚做自媒体的时候,我花了很多时间练文笔。学排版、学修辞、学怎么把句子写得漂亮。结果呢?文章写得再顺,发出去还是没人看。后来一个做内容的朋友问我:“你写的这些东西,读者真的关心吗?”我愣住了。我从来…

作者头像 李华
网站建设 2026/4/14 22:22:52

深入剖析 Flash 存储机制:扇区、页与擦写操作背后的硬件原理

1. Flash存储器的硬件架构探秘 第一次拆解U盘时,我看到指甲盖大小的芯片就能存储32GB电影,这种魔法般的体验促使我深入研究Flash的物理构造。现代Flash存储器就像精密的蜂窝公寓,每个存储单元都是悬浮栅MOSFET构成的独立房间,栅极…

作者头像 李华
网站建设 2026/4/14 22:15:40

【零基础C语言】我的第一个代码:Hello World,从此刻开始成长

我是一名初入编程的小白目前跟着专业课老师一步一步学习,从什么都不会,到今天终于写下了第一个能运行的C语言程序。虽然只是简单的 Hello World,但对我来说,这是从零到一的第一步。 我想用博客的方式记录自己的学习过程&#xff0…

作者头像 李华