Class FastCGIProxyServlet
java.lang.Object
javax.servlet.GenericServlet
javax.servlet.http.HttpServlet
org.eclipse.jetty.proxy.AbstractProxyServlet
org.eclipse.jetty.proxy.ProxyServlet
org.eclipse.jetty.proxy.AsyncProxyServlet
org.eclipse.jetty.proxy.AsyncProxyServlet.Transparent
org.eclipse.jetty.fcgi.server.proxy.FastCGIProxyServlet
- All Implemented Interfaces:
Serializable,javax.servlet.Servlet,javax.servlet.ServletConfig
Specific implementation of
AsyncProxyServlet.Transparent for FastCGI.
This servlet accepts an HTTP request and transforms it into a FastCGI request
that is sent to the FastCGI server specified in the proxyTo
init-param.
This servlet accepts these additional init-params:
scriptRoot, mandatory, that must be set to the directory where the application that must be served via FastCGI is installed and corresponds to the FastCGI DOCUMENT_ROOT parameterscriptPattern, optional, defaults to(.+?\.php), that specifies a regular expression with at least 1 and at most 2 groups that specify respectively:- the FastCGI SCRIPT_NAME parameter
- the FastCGI PATH_INFO parameter
fastCGI.HTTPS, optional, defaults to false, that specifies whether to force the FastCGIHTTPSparameter to the valueonfastCGI.envNames, optional, a comma separated list of environment variable names read viaSystem.getenv(String)that are forwarded as FastCGI parameters.unixDomainPath, optional, that specifies the Unix-Domain path the FastCGI server listens to.
- See Also:
-
Nested Class Summary
Nested classes/interfaces inherited from class org.eclipse.jetty.proxy.AsyncProxyServlet
AsyncProxyServlet.StreamReader, AsyncProxyServlet.StreamWriter, AsyncProxyServlet.TransparentNested classes/interfaces inherited from class org.eclipse.jetty.proxy.ProxyServlet
ProxyServlet.ProxyInputStreamRequestContent, ProxyServlet.ProxyResponseListenerNested classes/interfaces inherited from class org.eclipse.jetty.proxy.AbstractProxyServlet
AbstractProxyServlet.TransparentDelegate -
Field Summary
FieldsModifier and TypeFieldDescriptionstatic final Stringstatic final Stringstatic final Stringstatic final Stringstatic final Stringstatic final StringFields inherited from class org.eclipse.jetty.proxy.AbstractProxyServlet
_log, CLIENT_REQUEST_ATTRIBUTE, HOP_HEADERS -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionprotected voidcustomizeFastCGIHeaders(Request proxyRequest, HttpFields.Mutable fastCGIHeaders) voidinit()protected HttpClientThe servlet init parameter 'selectors' can be set for the number of selector threads to be used by the HttpClient.protected voidsendProxyRequest(javax.servlet.http.HttpServletRequest request, javax.servlet.http.HttpServletResponse proxyResponse, Request proxyRequest) Methods inherited from class org.eclipse.jetty.proxy.AsyncProxyServlet.Transparent
init, rewriteTargetMethods inherited from class org.eclipse.jetty.proxy.AsyncProxyServlet
newReadListener, newWriteListener, onResponseContent, proxyRequestContentMethods inherited from class org.eclipse.jetty.proxy.ProxyServlet
newProxyResponseListener, onContinue, serviceMethods inherited from class org.eclipse.jetty.proxy.AbstractProxyServlet
addProxyHeaders, addViaHeader, addViaHeader, addXForwardedHeaders, clientRequestStatus, copyRequestHeaders, createHttpClient, createLogger, destroy, expects100Continue, filterServerResponseHeader, findConnectionHeaders, getBlackListHosts, getHostHeader, getHttpClient, getRequestId, getTimeout, getViaHost, getWhiteListHosts, hasContent, newClientConnector, newHttpClient, newProxyRequest, onClientRequestFailure, onProxyResponseFailure, onProxyResponseSuccess, onProxyRewriteFailed, onServerResponseHeaders, proxyResponseStatus, sendProxyResponseError, setTimeout, validateDestinationMethods inherited from class javax.servlet.http.HttpServlet
doDelete, doGet, doHead, doOptions, doPost, doPut, doTrace, getLastModified, serviceMethods inherited from class javax.servlet.GenericServlet
getInitParameter, getInitParameterNames, getServletConfig, getServletContext, getServletInfo, getServletName, log, log
-
Field Details
-
SCRIPT_ROOT_INIT_PARAM
- See Also:
-
SCRIPT_PATTERN_INIT_PARAM
- See Also:
-
ORIGINAL_URI_ATTRIBUTE_INIT_PARAM
- See Also:
-
ORIGINAL_QUERY_ATTRIBUTE_INIT_PARAM
- See Also:
-
FASTCGI_HTTPS_INIT_PARAM
- See Also:
-
FASTCGI_ENV_NAMES_INIT_PARAM
- See Also:
-
-
Constructor Details
-
FastCGIProxyServlet
public FastCGIProxyServlet()
-
-
Method Details
-
init
public void init() throws javax.servlet.ServletException- Overrides:
initin classAbstractProxyServlet- Throws:
javax.servlet.ServletException
-
newHttpClient
Description copied from class:AbstractProxyServletThe servlet init parameter 'selectors' can be set for the number of selector threads to be used by the HttpClient.- Overrides:
newHttpClientin classAbstractProxyServlet- Returns:
- a new HttpClient instance
-
sendProxyRequest
protected void sendProxyRequest(javax.servlet.http.HttpServletRequest request, javax.servlet.http.HttpServletResponse proxyResponse, Request proxyRequest) - Overrides:
sendProxyRequestin classAbstractProxyServlet
-
customizeFastCGIHeaders
-