您的位置 首页 > 百度新闻

如何解决nextcloud客户端返回413Request Entity Too Large报错?

前一段时间小编为自己成功搭建了nextcloud的私有云盘服务开心不已,但并没有持续很久,一个新的错误又困扰了小编。那就是使用nextcloud客户端同步本地文件到服务器的时候,客户端返回“服务器向……返回了:413Request Entity Too Large”的报错,看似简单的报错,却花了好久才解决。

稍微有点经验的运维人员看到这个报错,就知道是上传文件大小被限制。但是问题的关键在于如何准确找到问题的关键点,并解决它。

首先我们来看看nextcloud官方文档中是怎么说的,感兴趣的可以到nextcloud官网中查阅相关的文档,这里我们摘录官网中的重点内容。感兴趣得可以私信回复“nextcloud413”:获取官方地址。

上载大文件> 512MB

上载的默认最大文件大小为512MB。您可以将此限制增加到文件系统和操作系统所允许的范围。有某些硬性限制不能超过:

在32Bit OS体系结构上<2GBIE6-IE8 <2GBIE9 <4GB-IE11问题不在这里,这个限制指的是通过浏览器访问nextcloud私有网盘服务上传时可能会遇到的问题。但是目前几乎都是64位,IE9以上,4G都没有问题。

nextcloud服务器系统配置

确保已安装最新版本的PHP(至少5.4.9)禁用用户配额,使其不受限制您的临时文件或分区必须足够大,以容纳来自多个用户的多个并行上传。例如,如果最大上传大小为10GB,并且同时上传的平均用户数为100:临时空间必须至少容纳10x100 GB排查后也不存在该问题。

配置您的Web服务器

注意Nextcloud带有自己的/.htaccess文件。由于php-fpm无法读取PHP设置,.htaccess因此必须在nextcloud/.user.ini文件中设置这些设置 。于是找到了在相应的php.ini文件中,同时设置以下两个参数(黑体部分)

php_valueupload_max_filesize16G

php_valuepost_max_size16G

根据您的需要调整这些值。如果您在日志文件中看到PHP超时,请增加超时值,以秒为单位:

php_valuemax_input_time3600

php_valuemax_execution_time3600

超时时间。Web服务器配置中还有其他几个配置选项,它们可能会阻止较大文件的上传。

的确说得很有道理,默认操作如下:

[root@localhost /]#find /ww -name "php.ini"

/ww/server/php/74/etc/php.ini

[root@localhost /] cat /ww/server/php/74/etc/php.ini | grep "max_" -n

默认内容如下图:

在php.ini中确实找到了配置的这个几个参数,默认是50M,全部进行修改。修改后如下图:

本以为这下没有问题了,结果还是报错。难道是nextcloud服务中的.htaccess和.user.ini文件也需要修改,尽管这两个配置中没有对应的选项,小编还是按照官网的建议把四个参数复制了进去,结果还是不行,看来应该是其他的问题。

配置nginx服务

那还能是什么问题呢?百密一疏,忘记了自己的网站居然是通过nginx服务代理的。nginx中也是有对应配置的呀。一看果然如此,nginx.conf中的参数配置如下。

所以问题应该就是这里,修改配置后,一定要重启nginx服务的,不然无法识别最新的配置文件。

重新在nextcloud客户端同步文件夹放了大文件夹,果然同步没有报错,成功同步到服务器端。

总结一些呢,就是需要根据情况修改php.ini或者nginx.conf配置文件。如果使用了nginx代理就修改nginx.conf配置,如果单纯是php服务,修改php.ini文件即可。

ps:推荐一个不错的在线学习平台,开课吧——数字化人才在线教育平台非常适合想要升职加薪的你。

作者最新文章
  • 为什么职场中的你得不到领导厚爱?或许你需要这六大绝招!

    09-0121:58
  • 如何解决nextcloud客户端返回413Request Entity Too Large报错?

    09-0119:18
  • 「linux专栏」完美解决Authentication token manipulation error

    08-3122:25

关于作者: 瞎采新闻

这里可以显示个人介绍!这里可以显示个人介绍!

热门文章

留言与评论(共有 0 条评论)
   
验证码: