3

我正在构建一个应用程序,其中角度前端位于 s3 上作为静态网站,并在 dokku 中使用节点 0.11.13 和 SSL 在 EC2 上的 Sails (0.10.3) API。如果文件大于约 4mb,我收到错误“请求的资源上不存在‘Access-Control-Allow-Origin’标头。” OPTIONS 请求正在访问我的 API,我可以在 customMiddleware 中捕获它,但带有数据的 POST 并没有达到那么远。在前端,我正在使用 angularjs-file-upload。如果我关闭 SSL,那么它可以正常工作,但我更愿意继续使用它。

4

4 回答 4

2

如果是 Nginx 导致问题,您可以尝试另一件事。查看您的错误日志文件。一般来说/var/log/nginx/error.log
,如果你看到这条线 *133774 client intended to send too large body: 3141911 bytes

这意味着问题的大小,你可能想解决它。

你这样做的方式是在 HTTP 上下文中的 nginx.conf 中将其粘贴到任何地方。

client_max_body_size 50M;

这将使您的身体尺寸增加到 50M。
因此解决问题

于 2020-10-04T07:46:59.953 回答
1

我上了链应用程序本身-> dokku-> SSL,在 nginx 中问题甚至更高。

nginx.conf 需要多一行:proxy_read_timeout 1200s;

于 2014-08-29T21:36:27.847 回答
0

我有一个类似的解决方案,我在this的帮助下解决了它。这是因为client_max_body_sizeNginx 具有的配置变量。

于 2021-09-07T14:31:40.467 回答
0

1.进入nginx配置设置文件:

sudo nano /etc/nginx/nginx.conf

2.修改nginx.conf文件:

http {
clientmaxbody_size 100m;
}

3.重启你的Nginx:

sudo service nginx restart 
or 
service nginx reload

对于我的 MEAN Stack (node & Express js) 应用程序,它可以工作。也希望你的情况!

Another EXPRESS code if 1,2 & 3 point won't work for you
const express = require('express');
const cors = require('cors');
const app = express();
app.use(cors());

以下链接供参考完整详细说明: https ://www.digitalocean.com/community/questions/how-to-edit-nginx-setting-for-big-file-upload

于 2021-12-03T14:25:06.610 回答