クラス AbstractHttpWebServiceMessageSender
- 実装済みのインターフェース一覧:
WebServiceMessageSender
- 既知の直属サブクラス
AbstractHttpComponents5MessageSender, ClientHttpRequestMessageSender, HttpComponentsMessageSender, HttpUrlConnectionMessageSender, JdkHttpClientMessageSender
WebServiceMessageSender 実装の抽象基本クラス。WebServiceMessageSender.UriSource.APPLICATION の場合、デフォルトのチェックでは、http: または https: URI が受け入れられます。WebServiceMessageSender.UriSource.REMOTE の場合、デフォルトのチェックではホストが必要で、localhost と *.localhost は拒否されます。また、ホストが IP リテラルの場合、DNS ルックアップなしのループバック、リンクローカル、任意のローカルアドレス、および RFC 1918 スタイルのプライベート IPv4 リテラルは拒否されます。デフォルト設定では非リテラルのホスト名は解決されないため、より厳密なチェックやホスト許可リストのために DNS で HttpDestinationDescriptor.hostAddress(boolean) を使用するなど、WebServiceMessageSender.DestinationPolicy を追加しない限り、DNS を介したプライベートネットワークアクセスは拒否されません。プライベート IPv4 リテラルは、allowSiteLocalIpv4 を true に設定することで有効にできます。
- 導入:
- 1.0.0
ネストされたクラスの概要
インターフェース WebServiceMessageSender から継承されたネストクラス / インターフェース
WebServiceMessageSender.DestinationDescriptor, WebServiceMessageSender.DestinationPolicy<D>, WebServiceMessageSender.UriSourceフィールド概要
フィールドコンストラクター概要
コンストラクター修飾子コンストラクター説明protectedhttp:およびhttps:の URI を受け入れるインスタンスを作成します。protectedAbstractHttpWebServiceMessageSender(PredicateSE<URISE> supportedUriFilter) 指定された URI を受け入れるために適用する URI フィルターを使用してインスタンスを作成します。方法の概要
修飾子と型メソッド説明protected HttpDestinationDescriptorcreateDescriptor(URISE uri, WebServiceMessageSender.UriSource uriSource) protected PredicateSE<HttpDestinationDescriptor> defaultChecks(WebServiceMessageSender.UriSource uriSource) 指定されたWebServiceMessageSender.UriSourceに適用するデフォルトのチェックを返します。booleanGZIP エンコーディングを受け入れるかどうか、つまり、gzipを値として HTTPAccept-Encodingヘッダーを送信するかどうかを返します。protected booleanremoteDefaultChecks(HttpDestinationDescriptor descriptor) WebServiceMessageSender.UriSource.REMOTEURI に対してデフォルトのチェックを適用します。voidsetAcceptGzipEncoding(boolean acceptGzipEncoding) GZIP エンコーディングを受け入れるかどうか、つまり、gzipを値として HTTPAccept-Encodingヘッダーを送信するかどうかを設定します。voidsetAllowDnsResolution(boolean allowDnsResolution) リモート宛先に対する DNS 解決を許可するかどうかを設定します。voidsetAllowSiteLocalIpv4(boolean allowSiteLocalIpv4) リモート宛先に対してサイトローカル IPv4 アドレスを許可するかどうかを設定します。クラス AbstractWebServiceMessageSender から継承されたメソッド
getDestinationPolicy, setDestinationPolicy, supportsクラス ObjectSE から継承されたメソッド
clone, equalsSE, finalize, getClass, hashCode, notify, notifyAll, toString, wait, waitSE, waitSEインターフェース WebServiceMessageSender から継承されたメソッド
createConnection, supports
フィールドの詳細
logger
protected final org.apache.commons.logging.Log loggerサブクラスで利用可能なロガー。
コンストラクターの詳細
AbstractHttpWebServiceMessageSender
指定された URI を受け入れるために適用する URI フィルターを使用してインスタンスを作成します。- パラメーター:
supportedUriFilter- インスタンスが URI をサポートしているかどうかをテストするために URI に適用する述語- 導入:
- 3.1.9
AbstractHttpWebServiceMessageSender
protected AbstractHttpWebServiceMessageSender()http:およびhttps:の URI を受け入れるインスタンスを作成します。
方法の詳細
isAcceptGzipEncoding
public boolean isAcceptGzipEncoding()GZIP エンコーディングを受け入れるかどうか、つまり、gzipを値として HTTPAccept-Encodingヘッダーを送信するかどうかを返します。setAcceptGzipEncoding
public void setAcceptGzipEncoding(boolean acceptGzipEncoding) GZIP エンコーディングを受け入れるかどうか、つまり、gzipを値として HTTPAccept-Encodingヘッダーを送信するかどうかを設定します。デフォルトは
trueです。HTTP サーバーで有効になっている場合でも、GZIP レスポンスの圧縮が必要ない場合は、このフラグをオフにします。setAllowSiteLocalIpv4
public void setAllowSiteLocalIpv4(boolean allowSiteLocalIpv4) リモート宛先に対してサイトローカル IPv4 アドレスを許可するかどうかを設定します。デフォルトは
falseです。falseの場合、リモートのデフォルトチェックでは、10.0.0.1のようなプライベート (RFC 1918) IPv4 リテラルが拒否されます。別のポリシーでブロックされていない限り、内部ネットワークの宛先への帯域外応答を許可するには、trueに設定してください。- 導入:
- 3.1.9
setAllowDnsResolution
public void setAllowDnsResolution(boolean allowDnsResolution) リモート宛先に対する DNS 解決を許可するかどうかを設定します。デフォルトは
falseで、すべての リモート宛先を解決することによるパフォーマンス低下を回避します。ただし、これは、内部 IP に解決される悪意のあるホスト名 (DNS リバインディングまたは単に内部 DNS レコード) が、デフォルトの IP レベルのチェックでブロックされないことを意味します。DNS 解決によるパフォーマンス低下なしに帯域外応答を保護するには、WebServiceMessageSender.DestinationPolicyを使用して既知のホストの厳密な許可リストを設定することを強くお勧めします。ホスト名を解決し、解決された IP アドレスに対してデフォルトのチェックを適用するように
trueに設定すると、DNS を使用した SSRF 攻撃を軽減できますが、レイテンシが増加します。- 導入:
- 3.1.9
createDescriptor
protected HttpDestinationDescriptor createDescriptor(URISE uri, WebServiceMessageSender.UriSource uriSource) クラスからコピーされた説明:AbstractWebServiceMessageSender- 次で指定:
- クラス
AbstractWebServiceMessageSender<HttpDestinationDescriptor>のcreateDescriptor - パラメーター:
uri- 確認する URIuriSource- URI のソース- 戻り値:
- 適切な記述子
defaultChecks
protected PredicateSE<HttpDestinationDescriptor> defaultChecks(WebServiceMessageSender.UriSource uriSource) クラスからコピーされた説明:AbstractWebServiceMessageSender指定されたWebServiceMessageSender.UriSourceに適用するデフォルトのチェックを返します。- 次で指定:
- クラス
AbstractWebServiceMessageSender<HttpDestinationDescriptor>のdefaultChecks - 戻り値:
- 適用されるデフォルトのチェック
remoteDefaultChecks
WebServiceMessageSender.UriSource.REMOTEURI に対してデフォルトのチェックを適用します。- パラメーター:
descriptor- 記述子- 戻り値:
- デフォルトチェックが指定された記述子の URI を受け入れるかどうか