3

Angular フロントエンドが s3 に静的 Web サイトとしてあり、Sails (0.10.3) API がドック内にあり、ノード 0.11.13 と EC2 に SSL があるアプリを構築しています。ファイルが約 4 MB より大きい場合、「要求されたリソースに 'Access-Control-Allow-Origin' ヘッダーが存在しません」というエラーが表示されました。OPTIONS リクエストが API にヒットし、customMiddleware でそれをキャッチできますが、データを含む POST はそこまで到達していません。フロントエンド側では、angularjs-file-upload を使用しています。SSL をオフにすると問題なく動作しますが、オンにしておくことをお勧めします。

4

4 に答える 4

2

問題を引き起こしているのがNginxである場合は、もう1つ試すことができます。エラー ログ ファイルを調べます。一般的に、/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 にはさらに 1 行必要でした: proxy_read_timeout 1200s;

于 2014-08-29T21:36:27.847 に答える
0

同様の解決策があり、 thisの助けを借りて解決しました。これは、client_max_body_sizeNginx が持つ構成変数が原因です。

于 2021-09-07T14:31:40.467 に答える