851d0192ad
We now provide a configurable way for dynamic proxy route selection for the default HttpClient based on regex based targetHostname patterns. Introduced `ProxyMapping` to describe a regex based mapping between target hosts and the proxy URL to use. A `ProxyMapping` can be build from an ordered list of string based mapping representations, e.g: ``` ^.*.(google.com|googleapis.com)$;http://localhost:8080 ``` If the targetHost does not match a configured proxy mapping, no proxy is used. This can be configured via standalone.xml / jboss-cli, e.g.: ``` echo SETUP: Configure proxy routes for HttpClient SPI /subsystem=keycloak-server/spi=connectionsHttpClient/provider=default:add(enabled=true) /subsystem=keycloak-server/spi=connectionsHttpClient/provider=default:write-attribute(name=properties.proxy-mappings,value=["^.*.(google.com|googleapis.com)$;http://www-proxy1:8080","^.*.facebook.com$;http://www-proxy2:8080"]) ``` The new `ProxyMappingWareRoutePlanner` uses a configured `ProxyMapping` to decide which proxy to use for a given request based on the target host denoted by the HTTP request to execute. I verified this manually with the BurpProxy Suite. |
||
---|---|---|
.. | ||
src | ||
pom.xml |