public class BalancerServlet extends ProxyServlet
| Modifier and Type | Class and Description |
|---|---|
private static class |
BalancerServlet.BalancerMember |
ProxyServlet.ProxyInputStreamContentProvider, ProxyServlet.ProxyResponseListener, ProxyServlet.TransparentAbstractProxyServlet.ProxyContinueProtocolHandler, AbstractProxyServlet.TransparentDelegate| Modifier and Type | Field and Description |
|---|---|
private java.util.List<BalancerServlet.BalancerMember> |
_balancerMembers |
private boolean |
_proxyPassReverse |
private boolean |
_stickySessions |
private static java.lang.String |
BALANCER_MEMBER_PREFIX |
private java.util.concurrent.atomic.AtomicLong |
counter |
private static java.util.List<java.lang.String> |
FORBIDDEN_CONFIG_PARAMETERS |
private static java.lang.String |
JSESSIONID |
private static java.lang.String |
JSESSIONID_URL_PREFIX |
private static java.util.List<java.lang.String> |
REVERSE_PROXY_HEADERS |
_log, CLIENT_REQUEST_ATTRIBUTE, HOP_HEADERS| Constructor and Description |
|---|
BalancerServlet() |
| Modifier and Type | Method and Description |
|---|---|
private java.lang.String |
extractBalancerMemberNameFromSessionId(java.lang.String sessionId) |
protected java.lang.String |
filterServerResponseHeader(javax.servlet.http.HttpServletRequest request,
Response serverResponse,
java.lang.String headerName,
java.lang.String headerValue) |
private BalancerServlet.BalancerMember |
findBalancerMemberByName(java.lang.String name) |
private java.lang.String |
getBalancerMemberNameFromSessionCookie(javax.servlet.http.HttpServletRequest request) |
private java.lang.String |
getBalancerMemberNameFromSessionId(javax.servlet.http.HttpServletRequest request) |
private java.lang.String |
getBalancerMemberNameFromURL(javax.servlet.http.HttpServletRequest request) |
private java.util.Set<java.lang.String> |
getBalancerNames() |
void |
init() |
private void |
initBalancers() |
private void |
initProxyPassReverse() |
private void |
initStickySessions() |
private boolean |
isBackendLocation(java.net.URI locationURI) |
protected java.lang.String |
rewriteTarget(javax.servlet.http.HttpServletRequest request) |
private BalancerServlet.BalancerMember |
selectBalancerMember(javax.servlet.http.HttpServletRequest request) |
private void |
validateConfig() |
boolean |
validateDestination(java.lang.String host,
int port)
Checks the given
host and port against whitelist and blacklist. |
newProxyResponseListener, onContinue, onResponseContent, proxyRequestContent, serviceaddProxyHeaders, addViaHeader, addXForwardedHeaders, copyRequestHeaders, createHttpClient, createLogger, destroy, expects100Continue, findConnectionHeaders, getBlackListHosts, getHostHeader, getHttpClient, getRequestId, getTimeout, getViaHost, getWhiteListHosts, hasContent, newHttpClient, onClientRequestFailure, onProxyResponseFailure, onProxyResponseSuccess, onProxyRewriteFailed, onServerResponseHeaders, sendProxyRequest, sendProxyResponseError, setTimeoutdoDelete, doGet, doHead, doOptions, doPost, doPut, doTrace, getLastModified, serviceprivate static final java.lang.String BALANCER_MEMBER_PREFIX
private static final java.util.List<java.lang.String> FORBIDDEN_CONFIG_PARAMETERS
private static final java.util.List<java.lang.String> REVERSE_PROXY_HEADERS
private static final java.lang.String JSESSIONID
private static final java.lang.String JSESSIONID_URL_PREFIX
private final java.util.List<BalancerServlet.BalancerMember> _balancerMembers
private final java.util.concurrent.atomic.AtomicLong counter
private boolean _stickySessions
private boolean _proxyPassReverse
public void init()
throws javax.servlet.ServletException
init in class AbstractProxyServletjavax.servlet.ServletExceptionprivate void validateConfig()
throws javax.servlet.ServletException
javax.servlet.ServletExceptionprivate void initStickySessions()
private void initBalancers()
throws javax.servlet.ServletException
javax.servlet.ServletExceptionprivate void initProxyPassReverse()
private java.util.Set<java.lang.String> getBalancerNames()
throws javax.servlet.ServletException
javax.servlet.ServletExceptionprotected java.lang.String rewriteTarget(javax.servlet.http.HttpServletRequest request)
rewriteTarget in class AbstractProxyServletprivate BalancerServlet.BalancerMember selectBalancerMember(javax.servlet.http.HttpServletRequest request)
private BalancerServlet.BalancerMember findBalancerMemberByName(java.lang.String name)
private java.lang.String getBalancerMemberNameFromSessionId(javax.servlet.http.HttpServletRequest request)
private java.lang.String getBalancerMemberNameFromSessionCookie(javax.servlet.http.HttpServletRequest request)
private java.lang.String getBalancerMemberNameFromURL(javax.servlet.http.HttpServletRequest request)
private java.lang.String extractBalancerMemberNameFromSessionId(java.lang.String sessionId)
protected java.lang.String filterServerResponseHeader(javax.servlet.http.HttpServletRequest request,
Response serverResponse,
java.lang.String headerName,
java.lang.String headerValue)
filterServerResponseHeader in class AbstractProxyServletprivate boolean isBackendLocation(java.net.URI locationURI)
public boolean validateDestination(java.lang.String host,
int port)
AbstractProxyServlethost and port against whitelist and blacklist.validateDestination in class AbstractProxyServlethost - the host to checkport - the port to check