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 をインストールするための詳細なチュートリアル

ブログ    

推薦する

ネイティブ JS でスネーク ゲームを書く

この記事では、参考までに、JSでスネークゲームを書くための具体的なコードを紹介します。具体的な内容は...

フォント名に従ってフォントを呼び出すと、ブラウザに必要なフォントが表示されます。

質問 1: ブラウザに必要なフォントを表示するように指示するにはどうすればよいでしょうか? フォント...

Linux 環境の Apache サーバーでセカンダリドメイン名を設定する方法の詳細な説明

この記事では、Linux 環境の Apache サーバーでセカンダリ ドメイン名を構成する方法につい...

Portainer を使用した Docker コンテナのデプロイのプロジェクト実践

目次1. 背景2. 操作手順3. Portinerをインストールする3.1 Dockerのデプロイメ...

MySQLインスタンスが起動できない問題の分析と解決

目次序文シナリオ分析要約する序文数日前、友人がWeChatで私に連絡してきて、マシンがダウンタイムか...

Vue ソング プログレス バーのサンプル コード

なお、これはvue-cliで作成したプロジェクトではありません。vue.jsを参照して記述したHTM...

Vueのミックスインと継承について詳しく説明します

目次序文ミキシンMixin ノート (重複名)ローカルミックスイングローバル ミックスイン継承するミ...

DockerはGitを使用してJenkinsのリリースとテストプロジェクトの詳細なプロセスを実装します

目次1. Dockerをインストールする2. カスタムネットワークアドレスを作成する3. Docke...

ホスト上のDockerコンテナ内でシェルまたはプログラムを実行する

Docker コンテナに繰り返し入って操作することを避けるために、コンテナ内の一連の命令をホストマシ...

HTMLテーブルの詳細な説明

機能: データ表示、テーブルアプリケーションシナリオ。 <table> テーブル<...

Win10 の Linux サブシステムを有効にする方法を説明します (詳細な画像とテキスト付き)

今日は、Windows 10 で Linux サブシステムを有効にする方法を紹介します。早速、手順を...

MySQL シリーズ II マルチインスタンス構成

チュートリアルシリーズMySQL シリーズ: MySQL リレーショナル データベースの基本概念My...

MySQL データベースの文字化け問題の原因と解決策

序文データベースのデータを表示すると、文字化けした文字が表示されることがあります。実際、どのようなデ...

Windows Server 2016 リモート デスクトップ サービスを展開するためのクイック スタート ガイド

現在、2016サーバーは、win2008や2012よりも優れたマルチサイトhttpsサービスをサポー...

Linuxカーネルマクロcontainer_ofの詳細な分析

1. 前述の通り数年前、Linux ドライバーのコードを読んでいたときにこのマクロを見ました。長い間...