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 列チャートを実現

推薦する

将来人気が出るであろういくつかのナビゲーション方向

<br />今は情報爆発の時代であるだけでなく、サービス爆発の時代でもあります。それはす...

CSV、Excel、SQL ファイルを MySQL にインポートするためのヒント

1. csvファイルをインポートする次のコマンドを使用します。 1.mysql> infile...

Vue は PDF.js を統合して PDF プレビューを実装し、透かしを追加する手順を実行します。

目次成果を達成する利用可能なプラグインの紹介ニーズに応じてプラグインを選択するプラグインのインストー...

Nginx シグナル制御

Nginx の紹介Nginx は、高性能な HTTP およびリバース プロキシ サーバーであり、IM...

URLパラメータに基づくNginx転送

使用シナリオ:ジャンプ パスは、傍受された URL に応じて動的に構成する必要があります。これは、イ...

Dockerにelasticsearchとkibanaをインストールする方法

Elasticsearchは現在非常に人気があり、多くの企業が利用しているため、esを知らないと軽蔑...

Vueでaxiosを簡単にカプセル化する方法

Vueにaxiosを挿入する 'axios' から axios をインポートします。...

Vueコンポーネント通信方法事例まとめ

目次1. 親コンポーネントが子コンポーネントに値を渡す(props) 2. サブコンポーネントは親コ...

10 HTML テーブル関連タグ

実際、多くの人が「テーブルは絶対に使用すべきではないと聞いたことがある」と言いますが、これは絶対に間...

Vueはドラッグアンドドロップまたはクリックで写真をアップロードする機能を実装しています

この記事では、ドラッグアンドドロップやクリックによる画像のアップロードを実現するためのVueの具体的...

SQL の左結合と右結合の原理と例の分析

テーブルが 2 つあり、テーブル A のレコードがテーブル B に存在しない可能性があります。左結合...

フレックスレイアウトは左のテキストオーバーフローを実現し、右のテキストの適応を省略します

テキストの長さに応じて、左側のテキストの幅を自動調整できる状況を実現したい。1行が表示できない場合、...

Linux で Tomcat を実行するいくつかの方法の説明

Linux での Tomcat の起動とシャットダウンLinux システムでは、コマンド操作を使用し...

div タグ内の要素の margin-top が無効である場合の解決策

タイトル通りです。その質問は非常に奇妙です。要素の親タグはdivで、幅や高さなどの属性は設定されてい...

CentOS7 デプロイメント Flask (Apache、mod_wsgi、Python36、venv)

1. Apacheをインストールする # yum インストール -y httpd httpd-de...