Tomcat の maxPostSize 設定に関する問題と注意事項

Tomcat の maxPostSize 設定に関する問題と注意事項

1. maxPostSize を設定する理由は何ですか?

tomcat コンテナには送信データのサイズ制限があり、この値を超えるファイルをアップロードするとエラーが発生し、プログラムを正常に使用できなくなります。

2.設定方法

tomcatディレクトリの/conf/server.xmlを探し、そこにmaxPostSizeパラメータを追加します。

パラメータ値「-1」はサイズ制限がないことを意味します。 maxPostSize パラメータを設定しないと、デフォルトのサイズ (2097152 バイト、つまり 2 メガバイト) が使用されることになります。

3. 設定値に関する注意

注意すべき点は、異なるバージョンの Tomcat で送信されるデータのサイズに制限がない場合、maxPostSize の値は同じではないということです。

具体的な違い:

tomcat7.0.63より前では、maxPostSizeを0以下の値に設定すると制限がなくなる。

tomcat7.0.63以降では、maxPostSizeを0未満の値に設定すると制限がなくなる。

tomcat7.0.63以降でmaxPostSize="0"に設定すると、送信されたデータは取得されません。

4. 公式ドキュメント

tomcat changeLogを添付

ps: Tomcat が maxPostSize を設定するため、Post リクエストが失敗する

質問:

最近、Tomcat バージョン 7.0.82.0 を使用してプロジェクトを展開しました。ログインできないことがわかりました。フロントエンドからのデータをバックエンドに渡すことができないことがわかりました。

トラブルシューティング: デバッグ ログから、バックエンドがフロントエンド ユーザーのログイン データを受信しなかったことが判明しました。確認したところ、Tomcat が server.xml にパラメーター maxPostSize=0 を追加したことが判明しました。このパラメーターを削除した後、データが受信されたことが判明しました。

分析:

私は maxPostSize=0 を検索しました。これは、POST リクエストにサイズ制限がないことを意味します。長い間 Google 検索した後、apache-tomcat-7.0.63 以降、パラメーター maxPostSize の意味が変わったことがわかりました。値が 0 に設定されている場合、最大 POST 値は 0 であることを意味します。POST サイズを制限しないようにするには、値を -1 に設定する必要があります。このバージョンより前では、POST サイズに制限がないことを示すために 0 に設定されていました。

Tomcat の maxPostSize 設定に関する問題点と注意点については以上です。Tomcat の maxPostSize 設定の詳細については、123WORDPRESS.COM の過去の記事を検索するか、以下の関連記事を引き続き参照してください。今後とも 123WORDPRESS.COM をよろしくお願いいたします。

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

<<:  Vue+echarts で積み上げ棒グラフを実現

>>:  CentOS7.8 に mysql 8.0.20 をインストールするための詳細なチュートリアル

推薦する

Docker の Windows ストレージ パス設定操作

Windows 10 に Docker をインストールする場合、コンテナタイプを Linux コンテ...

CentOS に Memcached と PHP Memcached 拡張機能をインストールする

高性能分散メモリオブジェクトキャッシュシステムMemcachedについては、別の記事「Windows...

Linux CDの意味と使い方

Linux CD とはどういう意味ですか? Linux では、cd はディレクトリの変更を意味します...

Vue+element+springboot でファイルダウンロードの進行状況バー表示機能を実装する例

目次1. 需要背景2. 最適化計画3. 具体的な実施3.1 フロントエンドコード3.2 背景コード4...

Docker イメージを Docker Hub にプッシュする実装

イメージが正常にビルドされると、Docker 環境があれば使用できますが、イメージを Docker ...

xtrabackup による MySQL データベースのバックアップと復元

mysqldump バックアップは、その独自の特性 (テーブルのロック、基本的に挿入スクリプトまたは...

MySQLストアドプロシージャの原理と使用法の詳細な説明

この記事では、例を使用して、MySQL ストアド プロシージャの原理と使用方法を説明します。ご参考ま...

HTML のテキストエリアの改行問題の概要

最近、Textrea に転送したときに、データが本当に行ごとに保存できるかどうかという問題に遭遇しま...

MySql 範囲内の検索時にインデックスが有効にならない理由の分析

1 問題の説明この記事では、確立された複合インデックスをソートし、レコード内の非インデックス フィー...

MySQL マスタースレーブレプリケーションと読み取り書き込み分離の詳細な説明

記事マインドマップマスター/スレーブ レプリケーションと読み取り/書き込み分離を使用する理由は何です...

nacos が mysql に接続できない場合の解決策

理由nacos の pom が依存する mysql バージョンが、mysql バージョンと一致してい...

WeChat アプレットのシンプルなログイン ページの実装 (ソース コード付き)

目次1. 上の写真2. ユーザーが存在しない3. コードをアップロードする1. 上の写真 2. ユー...

Ace をベースにした Markdown エディターを共有する

エディターは 2 つのカテゴリに分かれていると思います。1 つは、即時レンダリングを実現するために左...

Youku 動画から 30 秒の広告コードを削除する 2 つの方法

誰もがこんな気持ちになったことがあると思います。30 秒の広告が入った動画を見ると、とても不快に感じ...

仮想マシンクローン Linux centos6.5 システム ネットワーク カード構成グラフィック チュートリアル

Linux システムに触れたばかりの初心者として、VMware 仮想マシンに CentOS6.5 シ...