TomcatのmaxPostSize属性を設定する際に注意する必要がある問題を解決する

TomcatのmaxPostSize属性を設定する際に注意する必要がある問題を解決する

必要:

近い将来、大容量ファイルのアップロード機能を実装します。フロントエンドフレームワークのアップロード制御 jQuery Uploadify のアップロードファイル制限サイズと、Spring MVC フレームワークに設定されているファイルアップロードモジュール内の MultipartResolver のファイルアップロード制限サイズを変更するほか、Nginx サーバーの conf ディレクトリにある nginx.conf 設定ファイルの client_max_body_size 属性と、Tomcat サーバーの conf ディレクトリにある server.xml 設定ファイルの connectionTimeout 属性と maxPostSize 属性も変更する必要があります。上記の内容が私が行った変更です。

質問:

まず、NginxサーバーとTomcatサーバーの設定を変更し、Nginxサーバーを再起動しました。次に、ページとコードを修正して再デプロイして実行しました。次に、ページに大きなファイルをアップロードしたところ、送信時と保存時に問題が発生しました。大きなファイルの保存に問題があるのではないかと疑い、サーバーのログを確認するのに忙しかったです。すると、同僚から、ファイル削除機能が無効になっていると言われました。次に、別の同僚から、Webサイトにログインできないと言われました。正しい認証コードを入力した後、認証コードログインの有効期限が切れているというエラーメッセージが表示されました...さまざまな問題が次々に発生しました。サーバーのログを長い間見ていましたが、問題は見つかりませんでした。注意深く見ていなかったため、問題が発生した場所を特定していませんでした。

トラブルシューティング:

専門家に助けを求めるしかありませんでした。まず、何を変更したのかと聞かれました。私は、Nginx サーバーと Tomcat サーバーの両方の設定を変更したと答えました。専門家は、Linux 上の Nginx サーバーの設定ファイルと Tomcat サーバーの server.xml 設定ファイルを調べ、maxPostSize="0" 属性の設定が何を意味するのかと尋ねました。私は、HTTP POST リクエストの本文サイズに制限はない、と答えました。設定されていない場合、デフォルト値は maxPostSize="2097152" で、単位がバイトなのでサイズは 2M です。その後、ダニエルは関連情報を確認し、Tomcat のバージョンが原因の問題である可能性があることを突き止めました。Tomcat のバージョンによって、maxPostSize 属性の設定が異なる場合があります。問題がわかったので、ダニエルは設定を開始しました。

解決する:

Baidu で Tomcat maxPostSize を検索したところ、幸運にも最初の結果は Tomcat のさまざまなバージョンの maxPostSize 設定に関するものでした。

このブログの内容

このブログを読んだ後、Linux のプロジェクトで使用されている統合 Tomcat バージョンを確認しました。使用されたバージョンは Tomcat 7.0.70 でした。この記事を読んだ後、他に何が言えるでしょうか? 属性 maxPostSize を無制限を意味する -1 に変更するだけです。Tomcat サーバーを再起動し、Web サイトに再度ログインすると、上記の問題はすべてなくなります。

このブロガーのブログアドレスを添付します: https://www.jb51.net/article/190134.htm

要約: 昨日発生した問題について考えてみると、今日は休憩中にそれを要約し、その後 Tomcat 公式サイトの関連ドキュメントにアクセスしてこの問題を確認するのが良いでしょう。現在、Tomcatのバージョンは急速に更新されており、多くのTomcat7バージョンは簡単には見つけられなくなっています。最新のTomcat7バージョン情報を確認するには、Tomcatの公式サイトを開いて、

Tomcat 7.0 ドキュメント

次に、リファレンスの下の設定セクションを見てください。

次に、コネクタの下の HTTP セクションを確認します。これは、Tomcat の conf ファイル内の server.xml 構成ファイルの構造と密接に関連しています。server.xml 構成に精通していれば、これを見つけることは問題ありません。

関連するプロパティを確認すると、maxPostSize の詳細な説明が表示されます。この制限を無制限にするには、0 未満の負の数に設定する必要があります。デフォルト値は 2097152 で、バイト単位で 2M のサイズになります。

上記の紹介は Tomcat 7.0.86 バージョンのみを対象としていることに注意してください。

では、Tomcat の過去のバージョンの変更点を確認するにはどうすればよいでしょうか。最初にアクセスしたドキュメントのホームページに戻り、下部にある [Changelog] セクションをクリックします。

Tomcat7 の過去のバージョンにおけるすべての変更点を以下に示します。Tomcat 7.0.63 バージョンが見つかりました。変更された最初の項目は maxPost 属性に関する内容であることがわかります。上記のブログには、本当に役立つ情報が満載です。内容は小さいですが、的を射ています。

上記の要約により、将来同様の問題が発生した場合に、問題をトラブルシューティングする能力が向上するはずです。トラブルシューティングの手順を自分で要約します。

  • まず、サーバー上のさまざまなログを確認します
  • 2番目: サーバー上のさまざまな構成ファイルを表示する
  • 3 番目: 上記の質問のように、バージョン間の違いを考慮します。前提として、どの構成を変更し、どの構成を追加したかを把握する必要があります。

要約する

Tomcat の maxPostSize 属性の設定で注意すべき問題の解決方法については、これで終わりです。Tomcat の maxPostSize 属性の設定に関するより関連性の高いコンテンツについては、123WORDPRESS.COM の過去の記事を検索するか、以下の関連記事を引き続き参照してください。今後とも 123WORDPRESS.COM をよろしくお願いいたします。

以下もご興味があるかもしれません:
  • Spring Boot 経由で Tomcat を設定することで、ポストパラメータ制限の問題を解決する
  • Tomcat maxPostSize設定実装プロセス分析
  • Tomcat の maxPostSize 設定に関する問題と注意事項
  • Spring Boot で組み込み Tomcat の maxPostSize 値を設定する方法

<<:  Vueは水平の斜めの棒グラフを実装します

>>:  Vue+echart で 2 列チャートを実現

推薦する

OpenSSL は双方向認証のチュートリアルを実装します (サーバーとクライアントのコード付き)

1. 背景1.1 問題点最近の製品テスト レポートでは、PKI ベースの認証方法の使用が推奨されて...

MySQL 5.6.37 (zip) ダウンロード インストール 構成 グラフィック チュートリアル

この記事では、MySQL 5.6.37のダウンロード、インストール、設定のチュートリアルを参考までに...

記事では、js を使用して弾幕効果を実現する方法を説明します

目次新しい HTML ファイルを作成します。初期テンプレートを作成するHTML の追加CSS パディ...

24 の実用的な JavaScript 開発のヒント

目次1.配列を初期化する2. 配列の合計、最大値、最小値3. エラー値をフィルタリングする4. 論理...

JS でシンプルなデータ監視を実装する方法

目次概要最初のステップステップ2なぜ別の _data が必要なのでしょうか?データにもう少しデータを...

HTML でカスタム画像を使用してチェックボックスを表示する方法

チェックボックスの使用を実装するために画像を使用する必要がある場合は、それを使用して実装できます。実...

Vueプロジェクトのパッケージ化の詳細な説明

目次1. 関連構成ケース1(使用ツールはvue-cil)ケース2(使用するツールはwebpack) ...

MySQL 8.0.18コマンドの詳細な説明

解凍したフォルダ C:\web\mysql-8.0.11 を開き、フォルダ内に my.ini 構成フ...

vue シンプルメモ帳開発の詳しい説明

この記事では、参考までにEasy Notepadを実装するためのVueの具体的なコードを紹介します。...

RHCE ブリッジング、パスワード不要のログイン、ポート番号の変更の概要

目次1. ブリッジを設定し、検証のためにパケットをキャプチャする1. ブリッジデバイスとセッションを...

ウェブページの右下隅に「いいね!」カード効果を実現するための CSS (サンプルコード)

効果 HTML を実装するには、まずクリーンな HTML ページを準備し、ノードを記述します。 &l...

jQuery で呼吸カルーセル効果を実現

この記事では、呼吸カルーセル効果を実現するためのjQueryの具体的なコードを参考までに共有します。...

Linux コマンドラインでメールを送信する 5 つの方法 (推奨)

シェル スクリプトで電子メールを作成する必要がある場合は、コマンド ラインから電子メールを送信する知...

MySQLの関連ロックについての簡単な理解

この記事は主にInnoDBのロックに関する知識を素早く理解してもらうことを目的としています。 Roc...

JS で Websocket ベースのマルチターミナル ブリッジング プラットフォームを実装する方法

目次1. デバッグ対象2. WebSocketの機能3. ソケット接続を確立する3.1 部屋の作成方...