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

推薦する

CSS ボーダーは四隅の実装コードを追加します

1.html <div class="ログインボディ"> <...

Vue.js と MJML でレスポンシブなメールを作成する

MJML は、開発者が美しく、応答性に優れ、あらゆるデバイスやメール クライアントで動作する魅力的な...

VMWare14.0.0のUbuntu仮想マシンで共有フォルダを設定する

これは私の最初のブログ投稿です。時間の制約があるため、どのようにフォーマットすればよいかわかりません...

MySQL の起動オプションとシステム変数の例の詳細な説明

目次ブートオプションコマンドラインパラメータの長い形式と短い形式設定ファイル構成グループシステム変数...

Linux のメモリ管理とアドレス指定の詳細な紹介

目次1. コンセプトメモリ管理モード住所種別分類例: 2. ページ管理x86 アーキテクチャ 32 ...

フロントエンド JavaScript におけるリフレクションとプロキシ

目次1. 反射とは何ですか? 2. JavaScriptで反映する2.1 Reflect.get(タ...

MySQLを閉じることができない問題を解決する方法

mysql が閉じない場合の解決策:コンピュータのタスクバーを右クリックしてタスクマネージャーを開き...

Uniappの小規模プログラム開発経験

1. 新しいUIプロジェクトを作成するまず、私たちの UI は ColorUI に基づいています。C...

Django+vue 登録とログインのサンプルコード

登録するフロントエンドは、vue の axios を使用して値を渡し、取得したアカウントとパスワード...

Docker マイクロサービス用の ETCD クラスターの構築に関する詳細なチュートリアル

目次etcdの機能etcdが独自の高可用性クラスタを構築するには、主に3つの形式があります。今回構築...

Vue で配列パラメータを渡すための get / delete メソッド

フロントエンドとバックエンドがやり取りする場合、get または delete を介してバックエンドに...

JavaScript における URL オブジェクトの素晴らしい使い方

目次序文解析パラメータURLパラメータを変更する要約する序文URLオブジェクトはページ側ではあまり使...

linuxdeployqt を使用して Ubuntu で Qt プログラムをパッケージ化する問題を解決する

いくつかの Qt インターフェース プログラムを作成しましたが、Qt 環境がインストールされていない...

Linux サーバーが処理できる接続数をご存知ですか?

序文まず、TCP 接続を識別する方法を見てみましょう。システムは、(src_ip、src_port、...

JavaScript メッセージ ボックスの例

JavaScript では、警告ボックス、確認ボックス、プロンプト ボックスの 3 種類のメッセージ...