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-param
s:
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 FastCGIHTTPS
parameter to the valueon
fastCGI.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.ee10.proxy.AsyncProxyServlet
AsyncProxyServlet.StreamReader, AsyncProxyServlet.StreamWriter, AsyncProxyServlet.Transparent
Nested classes/interfaces inherited from class org.eclipse.jetty.ee10.proxy.ProxyServlet
ProxyServlet.ProxyInputStreamRequestContent, ProxyServlet.ProxyResponseListener
Nested classes/interfaces inherited from class org.eclipse.jetty.ee10.proxy.AbstractProxyServlet
AbstractProxyServlet.TransparentDelegate
-
Field Summary
Modifier and TypeFieldDescriptionstatic final String
static final String
static final String
static final String
static final String
static final String
Fields inherited from class org.eclipse.jetty.ee10.proxy.AbstractProxyServlet
_log, CLIENT_REQUEST_ATTRIBUTE, HOP_HEADERS
Fields inherited from class jakarta.servlet.http.HttpServlet
LEGACY_DO_HEAD
-
Constructor Summary
-
Method Summary
Modifier and TypeMethodDescriptionprotected void
customizeFastCGIHeaders
(Request proxyRequest, HttpFields.Mutable fastCGIHeaders) void
init()
protected HttpClient
The servlet init parameter 'selectors' can be set for the number of selector threads to be used by the HttpClient.protected void
sendProxyRequest
(jakarta.servlet.http.HttpServletRequest request, jakarta.servlet.http.HttpServletResponse proxyResponse, Request proxyRequest) Methods inherited from class org.eclipse.jetty.ee10.proxy.AsyncProxyServlet.Transparent
init, rewriteTarget
Methods inherited from class org.eclipse.jetty.ee10.proxy.AsyncProxyServlet
newReadListener, newWriteListener, onResponseContent, proxyRequestContent
Methods inherited from class org.eclipse.jetty.ee10.proxy.ProxyServlet
newProxyResponseListener, onContinue, service
Methods inherited from class org.eclipse.jetty.ee10.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, validateDestination
Methods inherited from class jakarta.servlet.http.HttpServlet
doDelete, doGet, doHead, doOptions, doPost, doPut, doTrace, getLastModified, service
Methods 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:
init
in classAbstractProxyServlet
- Throws:
jakarta.servlet.ServletException
-
newHttpClient
Description copied from class:AbstractProxyServlet
The servlet init parameter 'selectors' can be set for the number of selector threads to be used by the HttpClient.- Overrides:
newHttpClient
in classAbstractProxyServlet
- Returns:
- a new HttpClient instance
-
sendProxyRequest
protected void sendProxyRequest(jakarta.servlet.http.HttpServletRequest request, jakarta.servlet.http.HttpServletResponse proxyResponse, Request proxyRequest) - Overrides:
sendProxyRequest
in classAbstractProxyServlet
-
customizeFastCGIHeaders
-