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 をオフにすると問題なく動作しますが、オンにしておくことをお勧めします。
質問する
2594 次
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_size
Nginx が持つ構成変数が原因です。
于 2021-09-07T14:31:40.467 に答える