問題の説明:
ファイルのアップロードに失敗しました。ファイル サイズは約 4M です。アップロード プログラムは Java で、nginx リバース プロキシ経由で Fastdfs に書き込まれますが、常に失敗します。nginx エラー ログを確認すると、次の内容が表示されます:
client intended to send too large body: 4134591 bytes
(関連する推奨事項: nginx チュートリアル##) #)
分析: エラー メッセージによると、クライアントから送信されたボディが大きすぎます。nginx のデフォルトのクライアント ボディ サイズは 1M です。 公式ドキュメントは次のとおりです:Syntax: client_max_body_size size; Default: client_max_body_size 1m; Context: http, server, location Sets the maximum allowed size of the client request body, specified in the “Content-Length” request header field. If the size in a request exceeds the configured value, the 413 (Request Entity Too Large) error is returned to the client. Please be aware that browsers cannot correctly display this error. Setting size to 0 disables checking of client request body size.
http { log_format main '$remote_addr - $remote_user [$time_local] "$request" ' '$status $body_bytes_sent "$http_referer" ' '"$http_user_agent" "$http_x_forwarded_for"'; access_log /var/log/nginx/access.log main; sendfile on; tcp_nopush on; tcp_nodelay on; keepalive_timeout 65; types_hash_max_size 2048; client_max_body_size 100m; .... }
以上がnginx がファイルのアップロードに失敗し、アップロードされたファイルが大きすぎるというメッセージが表示されます。問題の解決方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。