クラス ForwardedHeaderUtils

java.lang.ObjectSE
org.springframework.web.util.ForwardedHeaderUtils

public abstract class ForwardedHeaderUtils extends ObjectSE
"Forwarded" および "X-Forwarded-*" ヘッダーの処理を支援するユーティリティクラス。

注意 : 転送ヘッダーの使用にはセキュリティ上の考慮事項があります。これらは、アプリケーションが挿入し、外部ソースからのヘッダーを明示的に削除する信頼できるプロキシの背後にない限り、使用すべきではありません。

ほとんどの場合、ヘッダーから情報をできるだけ早く抽出し、そのようなヘッダーを破棄するために、このクラスを直接使用するのではなく、Spring MVC または ForwardedHeaderTransformerForwardedHeaderFilter に依存する必要があります。Tomcat、Jetty、Reactor Netty などの基盤となるサーバーには、転送されたヘッダーをさらに早い段階で処理するオプションも用意されています。

導入:
6.1
作成者:
Rossen Stoyanchev
  • コンストラクターの詳細

    • ForwardedHeaderUtils

      public ForwardedHeaderUtils()
  • メソッドの詳細

    • adaptFromForwardedHeaders

      public static UriComponentsBuilder adaptFromForwardedHeaders(URISE uri, HttpHeaders headers)
      指定された URISE のスキーム + ホスト + ポートを、"Forwarded" ヘッダー ( RFC 7239 を参照)、または "X-Forwarded-Host"、"X-Forwarded-Port"、"X-Forwarded-Proto" ヘッダーから適合させます。「転送済み」は存在しません。
      パラメーター:
      uri - リクエスト URI
      headers - 考慮すべき HTTP ヘッダー
      戻り値:
      リクエスト URI と転送されたヘッダーからの追加の更新を反映する UriComponentsBuilder
    • parseForwardedFor

      @Nullable public static InetSocketAddressSE parseForwardedFor(URISE uri, HttpHeaders headers, @Nullable InetSocketAddressSE remoteAddress)
      最初の「転送済み」を解析します: クライアントのアドレスを表す InetSocketAddress への for =... " または " X-Forwarded-For " ヘッダー値。
      パラメーター:
      uri - リクエスト URI
      headers - 転送されたヘッダーが含まれる可能性があるリクエストヘッダー
      remoteAddress - 現在のリモートアドレス
      戻り値:
      抽出されたホストとポートを含む InetSocketAddress、またはヘッダーが存在しない場合は null 
      関連事項: