Package org.eclipse.jetty.server
Class ForwardedRequestCustomizer
java.lang.Object
org.eclipse.jetty.server.ForwardedRequestCustomizer
- All Implemented Interfaces:
HttpConfiguration.Customizer
@Deprecated(since="2021-05-27")
public class ForwardedRequestCustomizer
extends Object
implements HttpConfiguration.Customizer
Deprecated.
The Eclipse Jetty and Apache Felix Http Jetty packages are no longer supported.
Customize Requests for Proxy Forwarding.
This customizer looks at at HTTP request for headers that indicate it has been forwarded by one or more proxies. Specifically handled are
Forwarded, as defined by rfc7239X-Forwarded-HostX-Forwarded-ServerX-Forwarded-ForX-Forwarded-ProtoX-Proxied-Https
If these headers are present, then the Request object is updated
so that the proxy is not seen as the other end point of the connection on which
the request came
Headers can also be defined so that forwarded SSL Session IDs and Cipher suites may be customised
The Authority (host and port) is updated on the Request object based
on the host / port information in the following search order.
| # | Value Origin | Host | Port | Protocol | Notes |
|---|---|---|---|---|---|
| 1 | Forwarded Header |
"host=<host>" param (Required) |
"host=<host>:<port> param (Implied) |
"proto=<value>" param (Optional) |
From left-most relevant parameter (see rfc7239) |
| 2 | X-Forwarded-Host Header |
Required | Implied | n/a | left-most value |
| 3 | X-Forwarded-Port Header |
n/a | Required | n/a | left-most value (only if getForwardedPortAsAuthority() is true) |
| 4 | X-Forwarded-Server Header |
Required | Optional | n/a | left-most value |
| 5 | X-Forwarded-Proto Header |
n/a | Implied from value | Required |
left-most value becomes protocol.
|
| 6 | X-Proxied-Https Header |
n/a | Implied from value | boolean |
left-most value determines protocol and port.
|
- See Also:
-
Nested Class Summary
Nested ClassesModifier and TypeClassDescriptionstatic enumDeprecated.Ordered Source Enum. -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionvoidcustomize(Connector connector, HttpConfiguration config, Request request) Deprecated.Deprecated.Deprecated.Deprecated.Deprecated.Deprecated.Deprecated.booleanDeprecated.Deprecated.Deprecated.Get the forwardedProtoHeader.Deprecated.Deprecated.Deprecated.booleanDeprecated.booleanDeprecated.voidsetForcedHost(String hostAndPort) Deprecated.Set a forced valued for the host header to control what is returned byServletRequest.getServerName()andServletRequest.getServerPort().voidsetForwardedCipherSuiteHeader(String forwardedCipherSuiteHeader) Deprecated.voidsetForwardedForHeader(String forwardedRemoteAddressHeader) Deprecated.voidsetForwardedHeader(String forwardedHeader) Deprecated.voidsetForwardedHostHeader(String forwardedHostHeader) Deprecated.voidsetForwardedHttpsHeader(String forwardedHttpsHeader) Deprecated.voidsetForwardedOnly(boolean rfc7239only) Deprecated.voidsetForwardedPortAsAuthority(boolean forwardedPortAsAuthority) Deprecated.Set if the X-Forwarded-Port header will be used for AuthorityvoidsetForwardedPortHeader(String forwardedPortHeader) Deprecated.voidsetForwardedProtoHeader(String forwardedProtoHeader) Deprecated.Set the forwardedProtoHeader.voidsetForwardedServerHeader(String forwardedServerHeader) Deprecated.voidsetForwardedSslSessionIdHeader(String forwardedSslSessionIdHeader) Deprecated.voidsetHostHeader(String hostHeader) Deprecated.voidsetProxyAsAuthority(boolean proxyAsAuthority) Deprecated.voidsetSslIsSecure(boolean sslIsSecure) Deprecated.toString()Deprecated.
-
Constructor Details
-
ForwardedRequestCustomizer
public ForwardedRequestCustomizer()Deprecated.
-
-
Method Details
-
getProxyAsAuthority
public boolean getProxyAsAuthority()Deprecated.- Returns:
- true if the proxy address obtained via
X-Forwarded-Serveror RFC7239 "by" is used as the request authority. Default false
-
setProxyAsAuthority
public void setProxyAsAuthority(boolean proxyAsAuthority) Deprecated.- Parameters:
proxyAsAuthority- if true, use the proxy address obtained viaX-Forwarded-Serveror RFC7239 "by" as the request authority.
-
setForwardedOnly
public void setForwardedOnly(boolean rfc7239only) Deprecated.- Parameters:
rfc7239only- Configure to only support the RFC7239 Forwarded header and to not support anyX-Forwarded-headers. This convenience method clears all the non RFC headers if passed true and sets them to the default values (if not already set) if passed false.
-
getForcedHost
Deprecated. -
setForcedHost
Deprecated.Set a forced valued for the host header to control what is returned byServletRequest.getServerName()andServletRequest.getServerPort().- Parameters:
hostAndPort- The value of the host header to force.
-
getForwardedHeader
Deprecated.- Returns:
- The header name for RFC forwarded (default Forwarded)
-
setForwardedHeader
Deprecated.- Parameters:
forwardedHeader- The header name for RFC forwarded (default Forwarded)
-
getForwardedHostHeader
Deprecated. -
setForwardedHostHeader
Deprecated.- Parameters:
forwardedHostHeader- The header name for forwarded hosts (defaultX-Forwarded-Host)
-
getForwardedServerHeader
Deprecated.- Returns:
- the header name for forwarded server.
-
setForwardedServerHeader
Deprecated.- Parameters:
forwardedServerHeader- The header name for forwarded server (defaultX-Forwarded-Server)
-
getForwardedForHeader
Deprecated.- Returns:
- the forwarded for header
-
setForwardedForHeader
Deprecated.- Parameters:
forwardedRemoteAddressHeader- The header name for forwarded for (defaultX-Forwarded-For)
-
getForwardedPortHeader
Deprecated. -
setForwardedPortHeader
Deprecated.- Parameters:
forwardedPortHeader- The header name for forwarded hosts (defaultX-Forwarded-Port)
-
getForwardedPortAsAuthority
public boolean getForwardedPortAsAuthority()Deprecated.- Returns:
- if true, the X-Forwarded-Port header applies to the authority, else it applies to the remote client address
-
setForwardedPortAsAuthority
public void setForwardedPortAsAuthority(boolean forwardedPortAsAuthority) Deprecated.Set if the X-Forwarded-Port header will be used for Authority- Parameters:
forwardedPortAsAuthority- if true, the X-Forwarded-Port header applies to the authority, else it applies to the remote client address
-
getForwardedProtoHeader
Deprecated.Get the forwardedProtoHeader.- Returns:
- the forwardedProtoHeader (default
X-Forwarded-Proto)
-
setForwardedProtoHeader
Deprecated.Set the forwardedProtoHeader.- Parameters:
forwardedProtoHeader- the forwardedProtoHeader to set (defaultX-Forwarded-Proto)
-
getForwardedCipherSuiteHeader
Deprecated.- Returns:
- The header name holding a forwarded cipher suite (default
Proxy-auth-cert)
-
setForwardedCipherSuiteHeader
Deprecated.- Parameters:
forwardedCipherSuiteHeader- The header name holding a forwarded cipher suite (defaultProxy-auth-cert)
-
getForwardedSslSessionIdHeader
Deprecated.- Returns:
- The header name holding a forwarded SSL Session ID (default
Proxy-ssl-id)
-
setForwardedSslSessionIdHeader
Deprecated.- Parameters:
forwardedSslSessionIdHeader- The header name holding a forwarded SSL Session ID (defaultProxy-ssl-id)
-
getForwardedHttpsHeader
Deprecated.- Returns:
- The header name holding a forwarded Https status indicator (on|off true|false) (default
X-Proxied-Https)
-
setForwardedHttpsHeader
Deprecated.- Parameters:
forwardedHttpsHeader- the header name holding a forwarded Https status indicator(defaultX-Proxied-Https)
-
isSslIsSecure
public boolean isSslIsSecure()Deprecated.- Returns:
- true if the presence of an SSL session or certificate header is sufficient to indicate a secure request (default is true)
-
setSslIsSecure
public void setSslIsSecure(boolean sslIsSecure) Deprecated.- Parameters:
sslIsSecure- true if the presence of an SSL session or certificate header is sufficient to indicate a secure request (default is true)
-
customize
Deprecated.- Specified by:
customizein interfaceHttpConfiguration.Customizer
-
toString
Deprecated. -
getHostHeader
Deprecated. -
setHostHeader
Deprecated.Set a forced valued for the host header to control what is returned byServletRequest.getServerName()andServletRequest.getServerPort().- Parameters:
hostHeader- The value of the host header to force.
-