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:
java.io.Serializable,javax.servlet.Servlet,javax.servlet.ServletConfig
public class FastCGIProxyServlet extends AsyncProxyServlet.Transparent
Specific implementation ofAsyncProxyServlet.Transparentfor FastCGI.This servlet accepts an HTTP request and transforms it into a FastCGI request that is sent to the FastCGI server specified in the
proxyToinit-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.
- See Also:
TryFilesFilter, Serialized Form
-
-
Nested Class Summary
-
Nested classes/interfaces inherited from class org.eclipse.jetty.proxy.AsyncProxyServlet
AsyncProxyServlet.StreamReader, AsyncProxyServlet.StreamWriter, AsyncProxyServlet.Transparent
-
Nested classes/interfaces inherited from class org.eclipse.jetty.proxy.ProxyServlet
ProxyServlet.ProxyInputStreamContentProvider, ProxyServlet.ProxyResponseListener
-
Nested classes/interfaces inherited from class org.eclipse.jetty.proxy.AbstractProxyServlet
AbstractProxyServlet.TransparentDelegate
-
-
Field Summary
Fields Modifier and Type Field Description static java.lang.StringFASTCGI_ENV_NAMES_INIT_PARAMstatic java.lang.StringFASTCGI_HTTPS_INIT_PARAMstatic java.lang.StringORIGINAL_QUERY_ATTRIBUTE_INIT_PARAMstatic java.lang.StringORIGINAL_URI_ATTRIBUTE_INIT_PARAMstatic java.lang.StringSCRIPT_PATTERN_INIT_PARAMstatic java.lang.StringSCRIPT_ROOT_INIT_PARAM-
Fields inherited from class org.eclipse.jetty.proxy.AbstractProxyServlet
_log, CLIENT_REQUEST_ATTRIBUTE, HOP_HEADERS
-
-
Constructor Summary
Constructors Constructor Description FastCGIProxyServlet()
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description protected voidcustomizeFastCGIHeaders(Request proxyRequest, HttpFields fastCGIHeaders)voidinit()protected HttpClientnewHttpClient()The 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, rewriteTarget
-
Methods inherited from class org.eclipse.jetty.proxy.AsyncProxyServlet
newReadListener, newWriteListener, onResponseContent, proxyRequestContent
-
Methods inherited from class org.eclipse.jetty.proxy.ProxyServlet
newProxyResponseListener, onContinue, service
-
Methods 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, newProxyRequest, onClientRequestFailure, onProxyResponseFailure, onProxyResponseSuccess, onProxyRewriteFailed, onServerResponseHeaders, proxyResponseStatus, sendProxyResponseError, setTimeout, validateDestination
-
Methods inherited from class javax.servlet.http.HttpServlet
doDelete, doGet, doHead, doOptions, doPost, doPut, doTrace, getLastModified, service
-
-
-
-
Field Detail
-
SCRIPT_ROOT_INIT_PARAM
public static final java.lang.String SCRIPT_ROOT_INIT_PARAM
- See Also:
- Constant Field Values
-
SCRIPT_PATTERN_INIT_PARAM
public static final java.lang.String SCRIPT_PATTERN_INIT_PARAM
- See Also:
- Constant Field Values
-
ORIGINAL_URI_ATTRIBUTE_INIT_PARAM
public static final java.lang.String ORIGINAL_URI_ATTRIBUTE_INIT_PARAM
- See Also:
- Constant Field Values
-
ORIGINAL_QUERY_ATTRIBUTE_INIT_PARAM
public static final java.lang.String ORIGINAL_QUERY_ATTRIBUTE_INIT_PARAM
- See Also:
- Constant Field Values
-
FASTCGI_HTTPS_INIT_PARAM
public static final java.lang.String FASTCGI_HTTPS_INIT_PARAM
- See Also:
- Constant Field Values
-
FASTCGI_ENV_NAMES_INIT_PARAM
public static final java.lang.String FASTCGI_ENV_NAMES_INIT_PARAM
- See Also:
- Constant Field Values
-
-
Method Detail
-
init
public void init() throws javax.servlet.ServletException- Overrides:
initin classAbstractProxyServlet- Throws:
javax.servlet.ServletException
-
newHttpClient
protected HttpClient 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
protected void customizeFastCGIHeaders(Request proxyRequest, HttpFields fastCGIHeaders)
-
-