413 リクエストエンティティが大きすぎる問題の解決策
2022-02-13 11:10:54
413 Request Entity Too Large問題の回避策
本日のデータ入稿で、http:413 Request Entity Too Largeエラーが発生しました。
問題を解決した後のログは以下のとおりです。
今日のデータ送信で、http:413エラーが発生しました。
アップロードのファイルサイズが制限されていることを確認し、アップロードのファイルサイズを20Mに制限するようにサーバーを設定し、サービスを再起動しても問題は解決しませんでした。
さらに追跡調査をしたところ、根本的な原因が判明しました。
私たちのtomcatはnginx discovery service proxyを使用しており、nginxのアップロードのデフォルトのサイズ制限は1Mです。nginxのコンフィギュレーションで設定を変更することで、この問題は解決します。
回避策は以下の通りです。
1. nginxサービスの設定ファイルnginx.confを開く
2. http{}にclient_max_body_size xxmを追加、xxは必要に応じて変更してください。
3. 保存して nginx を再起動すると、問題は解決します。
nginxリバースプロキシ・tomcatアーキテクチャを採用したサーバーにバックエンド環境を導入し、バックエンドで70Mの動画ファイルをアップロードしたところ、アップロードの途中で失敗してしまいました。
原因は、nginxの設定でアップロードされるファイルのサイズが制限されているためです
client_max_body_size。このパラメータは、アップロードされるファイルのサイズを制限するために設定され、http、server、locationの領域で設定することができる
[root@dev-huanqiu ~]# cat /Data/app/nginx/conf/nginx.conf
.......
.......
http {
include mime.types;
default_type application/octet-stream;
charset utf-8;
#######
## http setting
#######
sendfile on;
tcp_nopush on;
tcp_nodelay on;
keepalive_timeout 100; #This parameter indicates the http connection timeout, the default is 65s. If the upload file is large and not completed within the specified time, it will be automatically disconnected! So adjust this timeout appropriately.
fastcgi_connect_timeout 6000;
fastcgi_send_timeout 6000;
fastcgi_read_timeout 6000;
fastcgi_buffer_size 256k;
fastcgi_buffers 8 256k;
fastcgi_busy_buffers_size 256k;
fastcgi_temp_file_write_size 256k;
##
client_header_timeout 120s; ## adjust larger
client_body_timeout 120s; ## adjust larger
client_max_body_size 100m; ## This is the main parameter that limits the size of the upload file
client_body_buffer_size 256k;
## support more than 15 test environments
server_names_hash_max_size 512;
server_names_hash_bucket_size 128;
gzip on;
gzip_min_length 1k;
gzip_buffers 4 16k;
gzip_http_version 1.1;
gzip_comp_level 9;
gzip_types text/plain application/x-javascript text/css application/xml text/javascript application/x-httpd-php;
gzip_vary on;
[root@dev-huanqiu ~]# cat /Data/app/nginx/conf/vhosts/admin.wangshibo.conf
server {
listen 80;
server_name admin.wangshibo.com;
#if ($http_x_forwarded_for ! ~ ^(14.165.97.54|123.110.186.128|123.110.186.68)) {
# rewrite ^. *$ /maintence.php last;
#}
access_log /var/log/wangshibo.log main;
location / {
proxy_pass http://127.0.0.1:8484/;
proxy_connect_timeout 300; #These three timeouts are moderately large
proxy_send_timeout 600;
proxy_read_timeout 600;
proxy_set_header X-Real-IP $remote_addr; # Get the client's real IP
proxy_set_header REMOTE-HOST $remote_addr;
proxy_set_header Host $host;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; # Get the real ip of the proxy
proxy_set_header X-Forwarded-Scheme $scheme; # resolve getScheme, isSecure, sendRedirect
proxy_buffer_size 32k;
proxy_buffers 32 256k;
proxy_busy_buffers_size 512k;
proxy_temp_file_write_size 512k;
proxy_temp_file_write_size 512k; }
location /static/video {
root /Data/app/tomcat-7-admin-wls/static/video;
}
} ##end server
<テーブル
関連
-
ベクターに型名がない
-
configure: error: no acceptable C compiler found in $PATH 問題は解決しました。
-
find:表現上の問題と解決策の前に、道筋がなければならない
-
解決済み gpg: 有効な OpenPGP データが見つかりません。
-
エラーについて: error: 'QApplication app' variable has initializer but incomplete type
-
Pythonの各種実行時エラー(SyntaxError : invalid syntaxなど)。
-
パイプが壊れた java.io.IOException: パイプの破損 解決方法
-
linuxのCコンパイルで、整数からキャストをせずにポインタを作る代入が行われる理由
-
Haproxy の「502 Bad Gateway サーバーが無効または不完全な応答を返しました」を解決する。
-
elasticsearchを解決する。例外 BindTransportException [9300-9400]へのバインドに失敗しました]。
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
ssh@host:""ssh スイッチで他のマシンで複数のコマンドを実行する。stdin はターミナルではないので、擬似ターミナルは割り当てられない。
-
Linuxシェルプログラミングにおける不正な置換の解決法
-
Ubuntu で vs code のソースファイル "iostream" を開けない。
-
ubuntu installationEnvironmentError: mysql_config not found エラー
-
LinuxでのC++プログラミングの基礎
-
AttributeError: モジュール 'tensorflow' には 'get_default_graph' という属性がありません。
-
nginx の Linux インストール 'struct crypt_data' には 'current_salt' という名前のメンバがない 解決方法
-
jmeterツールです。JMETER_HOME 環境変数が定義されていない 問題解決
-
中国標準のKirin OSのyumソースの構成
-
実行中のデータノードが1つあり、この操作で除外されるノードはありません。 エラー