Class FastCGIProxyServlet
java.lang.Object
jakarta.servlet.GenericServlet
jakarta.servlet.http.HttpServlet
org.eclipse.jetty.ee10.proxy.AbstractProxyServlet
org.eclipse.jetty.ee10.proxy.ProxyServlet
org.eclipse.jetty.ee10.proxy.AsyncProxyServlet
org.eclipse.jetty.ee10.proxy.AsyncProxyServlet.Transparent
org.eclipse.jetty.ee10.fcgi.proxy.FastCGIProxyServlet
- All Implemented Interfaces:
jakarta.servlet.Servlet, jakarta.servlet.ServletConfig, Serializable
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 AsyncProxyServlet
AsyncProxyServlet.StreamReader, AsyncProxyServlet.StreamWriter, AsyncProxyServlet.TransparentNested classes/interfaces inherited from class ProxyServlet
ProxyServlet.ProxyInputStreamRequestContent, ProxyServlet.ProxyResponseListenerNested classes/interfaces inherited from class AbstractProxyServlet
AbstractProxyServlet.TransparentDelegate -
Field Summary
FieldsModifier and TypeFieldDescriptionstatic final Stringstatic final Stringstatic final Stringstatic final Stringstatic final Stringstatic final StringFields inherited from class AbstractProxyServlet
_log, CLIENT_REQUEST_ATTRIBUTE, HOP_HEADERSFields inherited from class jakarta.servlet.http.HttpServlet
LEGACY_DO_HEAD -
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(jakarta.servlet.http.HttpServletRequest request, jakarta.servlet.http.HttpServletResponse proxyResponse, Request proxyRequest) Methods inherited from class AsyncProxyServlet.Transparent
init, rewriteTargetMethods inherited from class AsyncProxyServlet
newReadListener, newWriteListener, onResponseContent, proxyRequestContentMethods inherited from class ProxyServlet
newProxyResponseListener, onContinue, serviceMethods inherited from class 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 jakarta.servlet.http.HttpServlet
doDelete, doGet, doHead, doOptions, doPost, doPut, doTrace, getLastModified, serviceMethods inherited from class jakarta.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 jakarta.servlet.ServletException- Overrides:
initin classAbstractProxyServlet- Throws:
jakarta.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(jakarta.servlet.http.HttpServletRequest request, jakarta.servlet.http.HttpServletResponse proxyResponse, Request proxyRequest) - Overrides:
sendProxyRequestin classAbstractProxyServlet
-
customizeFastCGIHeaders
-