大家好,
想了解一下平台上允许上传的最大文件大小是多少?
目前我们将其设置为 184 MB。但是,当我尝试上传一个 40-50 MB 的文件时,上传失败。
提前感谢。
Kanishk
您可能还需要更改您的 nginx 配置
抱歉打扰这个帖子。我尝试了各种方法来更改 max upload size,但我的实例只允许上传 1 MB 的附件。我尝试过 10 MB、20 MB 以及默认设置。
我设置了 client_max_body_size 100m;:
1. 使用自定义命令 `sed -i 's/client_max_body_size 10m;/client_max_body_size 100m;/g' /etc/nginx/conf.d/discourse.conf`
2. 在 app.yml 中使用参数 `upload_size: 100m`
3. 在容器内手动修改
方法 1 和 2 后我重建了应用,方法 3 后我在容器内重新加载了 Nginx。
这是一次全新安装,仅使用了官方插件。自定义部分包括:Office 365 登录和自签名证书(因为服务器位于内网,而 Office 365 登录需要 HTTPS)。所有功能都正常:登录、邮件发送、通过邮件回复。但附件大小上限仍约为 1 MB(文件和图片均如此)。我已将文件类型设置为允许 *。我在外部代理 Nginx 上也设置了相同的 100 MB 请求体大小限制。
我真的很困惑。我已经使用 Discourse 四年了。是我的设置不正确还是有冲突?能否有人指点我应该先检查哪些方面?
嗨 @merefield,
@Ivan_Rapekas 说得对。这确实无法实现。这是后端的一项限制,不允许我们增加文件上传大小。
你读过这个吗?
没错,那是更好的解决方案。想象一下,Nginx 配置每次都会被重建,这或许就是如果你直接修改配置却无法持久化的原因:+1:
最初(在容器内):
![]()
将 app.yml 更新为:
![]()
重建后:
![]()
所以,@Kanishk_Jaswal,也许这就是你的问题,每次重建时配置都被重置了?
当然。我研究过所有相关主题。奇怪的是只有 1MB 的大小。对我来说 10MB 就足够了,但我无法达到这个数值。
感谢指出这一点,我检查过了——设置似乎没问题……
确实如此,而且你之前还说是“大约”1MB,这更奇怪了。
有没有可能是防火墙、路由器、网络或 VPN 设置异常?应用会报错,还是上传会静默失败?
感谢大家。
我前面部署了 Nginx 作为 Discourse 的反向代理。配置文件如下:
/etc/nginx/nginx.conf(默认配置)
/etc/nginx/conf.d/discourse.conf(自定义配置)
两个配置文件中都包含 server{} 块。起初,我将 client_max_body_size 100m; 放在了自定义配置文件中,但该设置实际上并未生效,而我当时也未检查代理日志。
后来,我将 client_max_body_size 100m; 移动到了默认配置文件(父配置)中,问题便得以解决。
因此,Change the maximum attachment/upload size 这篇文章的内容是准确的。根本原因在于 Discourse 外部的反向代理设置,这反而是最好的情况
。