Author: kkolinko
Date: Sun Apr 27 21:45:21 2014
New Revision: 1590499
URL: http://svn.apache.org/r1590499
Log:
Improve documentation markup.
This is partial backport of r1519668 from trunk.
Modified:
tomcat/tc7.0.x/trunk/webapps/docs/config/filter.xml
Modified: tomcat/tc7.0.x/trunk/webapps/docs/config/filter.xml
URL:
http://svn.apache.org/viewvc/tomcat/tc7.0.x/trunk/webapps/docs/config/filter.xml?rev=1590499&r1=1590498&r2=1590499&view=diff
==============================================================================
--- tomcat/tc7.0.x/trunk/webapps/docs/config/filter.xml (original)
+++ tomcat/tc7.0.x/trunk/webapps/docs/config/filter.xml Sun Apr 27 21:45:21 2014
@@ -40,13 +40,11 @@
web applications by configuring them in the application's
<code>WEB-INF/web.xml</code>. Each filter is described below.</p>
- <blockquote><em>
- <p>This description uses the variable name $CATALINA_BASE to refer the
+ <p><em>This description uses the variable name $CATALINA_BASE to refer the
base directory against which most relative paths are resolved. If you have
not configured Tomcat for multiple instances by setting a CATALINA_BASE
directory, then $CATALINA_BASE will be set to the value of $CATALINA_HOME,
- the directory into which you have installed Tomcat.</p>
- </em></blockquote>
+ the directory into which you have installed Tomcat.</em></p>
</section>
@@ -110,16 +108,14 @@
<a href="../images/cors-flowchart.png">flowchart</a> that
demonstrates request processing by this filter is available.</p>
<p>The minimal configuration required to use this filter is:</p>
- <source>
-<filter>
- <filter-name>CorsFilter</filter-name>
-
<filter-class>org.apache.catalina.filters.CorsFilter</filter-class>
-</filter>
-<filter-mapping>
- <filter-name>CorsFilter</filter-name>
- <url-pattern>/*</url-pattern>
-</filter-mapping>
- </source>
+ <source><![CDATA[<filter>
+ <filter-name>CorsFilter</filter-name>
+ <filter-class>org.apache.catalina.filters.CorsFilter</filter-class>
+</filter>
+<filter-mapping>
+ <filter-name>CorsFilter</filter-name>
+ <url-pattern>/*</url-pattern>
+</filter-mapping>]]></source>
</subsection>
<subsection name="Filter Class Name">
<p>The filter class name for the CORS Filter is
@@ -185,40 +181,38 @@
</attributes>
<p>Here's an example of a more advanced configuration, that overrides
defaults:</p>
- <source>
-<filter>
- <filter-name>CorsFilter</filter-name>
-
<filter-class>org.apache.catalina.filters.CorsFilter</filter-class>
- <init-param>
- <param-name>cors.allowed.origins</param-name>
- <param-value>*</param-value>
- </init-param>
- <init-param>
- <param-name>cors.allowed.methods</param-name>
- <param-value>GET,POST,HEAD,OPTIONS,PUT</param-value>
- </init-param>
- <init-param>
- <param-name>cors.allowed.headers</param-name>
-
<param-value>Content-Type,X-Requested-With,accept,Origin,Access-Control-Request-Method,Access-Control-Request-Headers</param-value>
- </init-param>
- <init-param>
- <param-name>cors.exposed.headers</param-name>
-
<param-value>Access-Control-Allow-Origin,Access-Control-Allow-Credentials</param-value>
- </init-param>
- <init-param>
- <param-name>cors.support.credentials</param-name>
- <param-value>true</param-value>
- </init-param>
- <init-param>
- <param-name>cors.preflight.maxage</param-name>
- <param-value>10</param-value>
- </init-param>
-</filter>
-<filter-mapping>
- <filter-name>CorsFilter</filter-name>
- <url-pattern>/*</url-pattern>
-</filter-mapping>
- </source>
+ <source><![CDATA[<filter>
+ <filter-name>CorsFilter</filter-name>
+ <filter-class>org.apache.catalina.filters.CorsFilter</filter-class>
+ <init-param>
+ <param-name>cors.allowed.origins</param-name>
+ <param-value>*</param-value>
+ </init-param>
+ <init-param>
+ <param-name>cors.allowed.methods</param-name>
+ <param-value>GET,POST,HEAD,OPTIONS,PUT</param-value>
+ </init-param>
+ <init-param>
+ <param-name>cors.allowed.headers</param-name>
+
<param-value>Content-Type,X-Requested-With,accept,Origin,Access-Control-Request-Method,Access-Control-Request-Headers</param-value>
+ </init-param>
+ <init-param>
+ <param-name>cors.exposed.headers</param-name>
+
<param-value>Access-Control-Allow-Origin,Access-Control-Allow-Credentials</param-value>
+ </init-param>
+ <init-param>
+ <param-name>cors.support.credentials</param-name>
+ <param-value>true</param-value>
+ </init-param>
+ <init-param>
+ <param-name>cors.preflight.maxage</param-name>
+ <param-value>10</param-value>
+ </init-param>
+</filter>
+<filter-mapping>
+ <filter-name>CorsFilter</filter-name>
+ <url-pattern>/*</url-pattern>
+</filter-mapping>]]></source>
</subsection>
<subsection name="CORS Filter and HttpServletRequest attributes">
<p>CORS Filter adds information about the request, in HttpServletRequest
@@ -353,31 +347,28 @@
headers to images, css and javascript.
</p>
- <source>
-<filter>
- <filter-name>ExpiresFilter</filter-name>
-
<filter-class>org.apache.catalina.filters.ExpiresFilter</filter-class>
- <init-param>
- <param-name>ExpiresByType image</param-name>
- <param-value>access plus 10 minutes</param-value>
- </init-param>
- <init-param>
- <param-name>ExpiresByType text/css</param-name>
- <param-value>access plus 10 minutes</param-value>
- </init-param>
- <init-param>
- <param-name>ExpiresByType application/javascript</param-name>
- <param-value>access plus 10 minutes</param-value>
- </init-param>
-</filter>
+ <source><![CDATA[<filter>
+ <filter-name>ExpiresFilter</filter-name>
+ <filter-class>org.apache.catalina.filters.ExpiresFilter</filter-class>
+ <init-param>
+ <param-name>ExpiresByType image</param-name>
+ <param-value>access plus 10 minutes</param-value>
+ </init-param>
+ <init-param>
+ <param-name>ExpiresByType text/css</param-name>
+ <param-value>access plus 10 minutes</param-value>
+ </init-param>
+ <init-param>
+ <param-name>ExpiresByType application/javascript</param-name>
+ <param-value>access plus 10 minutes</param-value>
+ </init-param>
+</filter>
...
-<filter-mapping>
- <filter-name>ExpiresFilter</filter-name>
- <url-pattern>/*</url-pattern>
- <dispatcher>REQUEST</dispatcher>
-</filter-mapping>
-
- </source>
+<filter-mapping>
+ <filter-name>ExpiresFilter</filter-name>
+ <url-pattern>/*</url-pattern>
+ <dispatcher>REQUEST</dispatcher>
+</filter-mapping>]]></source>
</subsection>
@@ -387,34 +378,34 @@
defined in a more readable syntax of the form:
</p>
- <source>
-<init-param>
- <param-name>ExpiresDefault</param-name>
- <param-value><base> [plus] {<num>
<type>}*</param-value>
-</init-param>
-
-<init-param>
- <param-name>ExpiresByType type</param-name>
- <param-value><base> [plus] {<num>
<type>}*</param-value>
-</init-param>
-
-<init-param>
- <param-name>ExpiresByType type;encoding</param-name>
- <param-value><base> [plus] {<num>
<type>}*</param-value>
-</init-param>
- </source>
+ <source><![CDATA[<init-param>
+ <param-name>ExpiresDefault</param-name>
+ <param-value><base> [plus] {<num> <type>}*</param-value>
+</init-param>
+
+<init-param>
+ <param-name>ExpiresByType type</param-name>
+ <param-value><base> [plus] {<num> <type>}*</param-value>
+</init-param>
+
+<init-param>
+ <param-name>ExpiresByType type;encoding</param-name>
+ <param-value><base> [plus] {<num> <type>}*</param-value>
+</init-param>]]></source>
<p>
where <code><base></code> is one of:
+ </p>
<ul>
<li><code>access</code></li>
<li><code>now</code> (equivalent to '<code>access</code>')</li>
<li><code>modification</code></li>
</ul>
- </p>
+
<p>
The <code>plus</code> keyword is optional. <code><num></code> should
be an
integer value (acceptable to <code>Integer.parseInt()</code>), and
<code><type></code> is one of:
+ </p>
<ul>
<li><code>years</code></li>
<li><code>months</code></li>
@@ -424,42 +415,39 @@
<li><code>minutes</code></li>
<li><code>seconds</code></li>
</ul>
+ <p>
For example, any of the following directives can be used to make documents
expire 1 month after being accessed, by default:
</p>
- <source>
-<init-param>
- <param-name>ExpiresDefault</param-name>
- <param-value>access plus 1 month</param-value>
-</init-param>
-
-<init-param>
- <param-name>ExpiresDefault</param-name>
- <param-value>access plus 4 weeks</param-value>
-</init-param>
-
-<init-param>
- <param-name>ExpiresDefault</param-name>
- <param-value>access plus 30 days</param-value>
-</init-param>
-</source>
+ <source><![CDATA[<init-param>
+ <param-name>ExpiresDefault</param-name>
+ <param-value>access plus 1 month</param-value>
+</init-param>
+
+<init-param>
+ <param-name>ExpiresDefault</param-name>
+ <param-value>access plus 4 weeks</param-value>
+</init-param>
+
+<init-param>
+ <param-name>ExpiresDefault</param-name>
+ <param-value>access plus 30 days</param-value>
+</init-param>]]></source>
<p>
The expiry time can be fine-tuned by adding several '
<code><num> <type></code>' clauses:
</p>
-<source>
-<init-param>
- <param-name>ExpiresByType text/html</param-name>
- <param-value>access plus 1 month 15 days 2 hours</param-value>
-</init-param>
-
-<init-param>
- <param-name>ExpiresByType image/gif</param-name>
- <param-value>modification plus 5 hours 3 minutes</param-value>
-</init-param>
- </source>
+<source><![CDATA[<init-param>
+ <param-name>ExpiresByType text/html</param-name>
+ <param-value>access plus 1 month 15 days 2 hours</param-value>
+</init-param>
+
+<init-param>
+ <param-name>ExpiresByType image/gif</param-name>
+ <param-value>modification plus 5 hours 3 minutes</param-value>
+</init-param>]]></source>
<p>
Note that if you use a modification date based setting, the
<code>Expires</code>
header will <strong>not</strong> be added to content that does not come
from
@@ -471,6 +459,7 @@ The expiry time can be fine-tuned by add
<subsection name="Expiration headers generation eligibility">
<p>
A response is eligible to be enriched by <code>ExpiresFilter</code> if :
+ </p>
<ol>
<li>no expiration header is defined (<code>Expires</code> header or the
<code>max-age</code> directive of the <code>Cache-Control</code>
header),</li>
@@ -480,7 +469,7 @@ The expiry time can be fine-tuned by add
defined the in <code>ExpiresByType</code> directives or the
<code>ExpiresDefault</code> directive is defined.</li>
</ol>
- </p>
+
<p>
Note : If <code>Cache-Control</code> header contains other directives than
<code>max-age</code>, they are concatenated with the <code>max-age</code>
directive
@@ -492,6 +481,7 @@ The expiry time can be fine-tuned by add
<subsection name="Expiration configuration selection">
<p>
The expiration configuration if elected according to the following
algorithm:
+ </p>
<ol>
<li><code>ExpiresByType</code> matching the exact content-type returned by
<code>HttpServletResponse.getContentType()</code> possibly including the
charset
@@ -505,7 +495,7 @@ The expiry time can be fine-tuned by add
'),</li>
<li><code>ExpiresDefault</code></li>
</ol>
- </p>
+
</subsection>
<subsection name="Filter Class Name">
@@ -600,29 +590,25 @@ The expiry time can be fine-tuned by add
</attribute>
</attributes>
- <p><i>Sample : exclude response status codes 302, 500 and 503</i></p>
+ <p><i>Sample: exclude response status codes 302, 500 and 503</i></p>
-<source>
-<init-param>
- <param-name>ExpiresExcludedResponseStatusCodes</param-name>
- <param-value>302, 500, 503</param-value>
-</init-param>
-</source>
+<source><![CDATA[<init-param>
+ <param-name>ExpiresExcludedResponseStatusCodes</param-name>
+ <param-value>302, 500, 503</param-value>
+</init-param>]]></source>
<p><i>Sample for ExpiresByType initialization parameter</i></p>
- <source>
-<init-param>
- <param-name>ExpiresByType text/html</param-name>
- <param-value>access plus 1 month 15 days 2 hours</param-value>
-</init-param>
-
-<init-param>
- <!-- 2592000 seconds = 30 days -->
- <param-name>ExpiresByType image/gif</param-name>
- <param-value>A2592000</param-value>
-</init-param>
- </source>
+ <source><![CDATA[<init-param>
+ <param-name>ExpiresByType text/html</param-name>
+ <param-value>access plus 1 month 15 days 2 hours</param-value>
+</init-param>
+
+<init-param>
+ <!-- 2592000 seconds = 30 days -->
+ <param-name>ExpiresByType image/gif</param-name>
+ <param-value>A2592000</param-value>
+</init-param>]]></source>
</subsection>
@@ -635,44 +621,36 @@ The expiry time can be fine-tuned by add
Extract of logging.properties
</p>
- <source>
-org.apache.catalina.filters.ExpiresFilter.level = FINE
- </source>
+ <source>org.apache.catalina.filters.ExpiresFilter.level = FINE </source>
<p>
Sample of initialization log message:
</p>
- <source>
-Mar 26, 2010 2:01:41 PM org.apache.catalina.filters.ExpiresFilter init
+ <source>Mar 26, 2010 2:01:41 PM org.apache.catalina.filters.ExpiresFilter
init
FINE: Filter initialized with configuration ExpiresFilter[
excludedResponseStatusCode=[304],
default=null,
byType={
image=ExpiresConfiguration[startingPoint=ACCESS_TIME, duration=[10
MINUTE]],
text/css=ExpiresConfiguration[startingPoint=ACCESS_TIME, duration=[10
MINUTE]],
- text/javascript=ExpiresConfiguration[startingPoint=ACCESS_TIME,
duration=[10 MINUTE]]}]
- </source>
+ text/javascript=ExpiresConfiguration[startingPoint=ACCESS_TIME,
duration=[10 MINUTE]]}]</source>
<p>
Sample of per-request log message where <code>ExpiresFilter</code> adds an
expiration date is below. The message is on one line and is wrapped here
for better readability.
</p>
- <source>
-Mar 26, 2010 2:09:47 PM org.apache.catalina.filters.ExpiresFilter
onBeforeWriteResponseBody
+ <source>Mar 26, 2010 2:09:47 PM org.apache.catalina.filters.ExpiresFilter
onBeforeWriteResponseBody
FINE: Request "/tomcat.gif" with response status "200"
- content-type "image/gif", set expiration date 3/26/10 2:19 PM
- </source>
+ content-type "image/gif", set expiration date 3/26/10 2:19 PM</source>
<p>
Sample of per-request log message where <code>ExpiresFilter</code> does
not add
an expiration date:
</p>
- <source>
-Mar 26, 2010 2:10:27 PM org.apache.catalina.filters.ExpiresFilter
onBeforeWriteResponseBody
+ <source>Mar 26, 2010 2:10:27 PM org.apache.catalina.filters.ExpiresFilter
onBeforeWriteResponseBody
FINE: Request "/docs/config/manager.html" with response status "200"
- content-type "text/html", no expiration configured
- </source>
+ content-type "text/html", no expiration configured</source>
</subsection>
</section>
@@ -789,20 +767,18 @@ FINE: Request "/docs/config/manager.html
<subsection name="Example">
<p>To allow access only for the clients connecting from localhost:</p>
-<source>
- <filter>
- <filter-name>Remote Address Filter</filter-name>
-
<filter-class>org.apache.catalina.filters.RemoteAddrFilter</filter-class>
- <init-param>
- <param-name>allow</param-name>
- <param-value>127\.\d+\.\d+\.\d+|::1|0:0:0:0:0:0:0:1</param-value>
- </init-param>
- </filter>
- <filter-mapping>
- <filter-name>Remote Address Filter</filter-name>
- <url-pattern>/*</url-pattern>
- </filter-mapping>
-</source>
+<source><![CDATA[ <filter>
+ <filter-name>Remote Address Filter</filter-name>
+ <filter-class>org.apache.catalina.filters.RemoteAddrFilter</filter-class>
+ <init-param>
+ <param-name>allow</param-name>
+ <param-value>127\.\d+\.\d+\.\d+|::1|0:0:0:0:0:0:0:1</param-value>
+ </init-param>
+ </filter>
+ <filter-mapping>
+ <filter-name>Remote Address Filter</filter-name>
+ <url-pattern>/*</url-pattern>
+ </filter-mapping>]]></source>
</subsection>
</section>
@@ -931,18 +907,16 @@ FINE: Request "/docs/config/manager.html
<p>
The filter will process the <code>x-forwarded-for</code> http header.
</p>
- <source>
- <filter>
- <filter-name>RemoteIpFilter</filter-name>
-
<filter-class>org.apache.catalina.filters.RemoteIpFilter</filter-class>
- </filter>
-
- <filter-mapping>
- <filter-name>RemoteIpFilter</filter-name>
- <url-pattern>/*</url-pattern>
- <dispatcher>REQUEST</dispatcher>
- </filter-mapping>
- </source>
+ <source><![CDATA[ <filter>
+ <filter-name>RemoteIpFilter</filter-name>
+ <filter-class>org.apache.catalina.filters.RemoteIpFilter</filter-class>
+ </filter>
+
+ <filter-mapping>
+ <filter-name>RemoteIpFilter</filter-name>
+ <url-pattern>/*</url-pattern>
+ <dispatcher>REQUEST</dispatcher>
+ </filter-mapping>]]></source>
</subsection>
<subsection name="Basic configuration to handle 'x-forwarded-for'
and 'x-forwarded-proto'">
@@ -952,54 +926,50 @@ FINE: Request "/docs/config/manager.html
<code>x-forwarded-proto</code> http headers. Expected value for the
<code>x-forwarded-proto</code> header in case of SSL connections is
<code>https</code> (case insensitive). </p>
- <source>
- <filter>
- <filter-name>RemoteIpFilter</filter-name>
-
<filter-class>org.apache.catalina.filters.RemoteIpFilter</filter-class>
- <init-param>
- <param-name>protocolHeader</param-name>
- <param-value>x-forwarded-proto</param-value>
- </init-param>
- </filter>
-
- <filter-mapping>
- <filter-name>RemoteIpFilter</filter-name>
- <url-pattern>/*</url-pattern>
- <dispatcher>REQUEST</dispatcher>
- </filter-mapping>
- </source>
+ <source><![CDATA[ <filter>
+ <filter-name>RemoteIpFilter</filter-name>
+ <filter-class>org.apache.catalina.filters.RemoteIpFilter</filter-class>
+ <init-param>
+ <param-name>protocolHeader</param-name>
+ <param-value>x-forwarded-proto</param-value>
+ </init-param>
+ </filter>
+
+ <filter-mapping>
+ <filter-name>RemoteIpFilter</filter-name>
+ <url-pattern>/*</url-pattern>
+ <dispatcher>REQUEST</dispatcher>
+ </filter-mapping>]]></source>
</subsection>
<subsection name="Advanced configuration with internal proxies">
<p>RemoteIpFilter configuration: </p>
- <source>
- <filter>
- <filter-name>RemoteIpFilter</filter-name>
-
<filter-class>org.apache.catalina.filters.RemoteIpFilter</filter-class>
- <init-param>
- <param-name>allowedInternalProxies</param-name>
- <param-value>192\.168\.0\.10|192\.168\.0\.11</param-value>
- </init-param>
- <init-param>
- <param-name>remoteIpHeader</param-name>
- <param-value>x-forwarded-for</param-value>
- </init-param>
- <init-param>
- <param-name>remoteIpProxiesHeader</param-name>
- <param-value>x-forwarded-by</param-value>
- </init-param>
- <init-param>
- <param-name>protocolHeader</param-name>
- <param-value>x-forwarded-proto</param-value>
- </init-param>
- </filter>
- </source>
- <p>Request values:
- <table border="1" cellpadding="5">
+ <source><![CDATA[ <filter>
+ <filter-name>RemoteIpFilter</filter-name>
+ <filter-class>org.apache.catalina.filters.RemoteIpFilter</filter-class>
+ <init-param>
+ <param-name>allowedInternalProxies</param-name>
+ <param-value>192\.168\.0\.10|192\.168\.0\.11</param-value>
+ </init-param>
+ <init-param>
+ <param-name>remoteIpHeader</param-name>
+ <param-value>x-forwarded-for</param-value>
+ </init-param>
+ <init-param>
+ <param-name>remoteIpProxiesHeader</param-name>
+ <param-value>x-forwarded-by</param-value>
+ </init-param>
+ <init-param>
+ <param-name>protocolHeader</param-name>
+ <param-value>x-forwarded-proto</param-value>
+ </init-param>
+ </filter>]]></source>
+ <p>Request values:</p>
+ <table class="defaultTable">
<tr>
- <th bgcolor="#023264"><font color="#ffffff">Property</font></th>
- <th bgcolor="#023264"><font color="#ffffff">Value Before
RemoteIpFilter</font></th>
- <th bgcolor="#023264"><font color="#ffffff">Value After
RemoteIpFilter</font></th>
+ <th>Property</th>
+ <th>Value Before RemoteIpFilter</th>
+ <th>Value After RemoteIpFilter</th>
</tr>
<tr>
<td> request.remoteAddr </td>
@@ -1037,7 +1007,7 @@ FINE: Request "/docs/config/manager.html
<td> 443 </td>
</tr>
</table>
- </p>
+
<p>
Note : <code>x-forwarded-by</code> header is <code>null</code> because only
internal proxies has been traversed by the request.
@@ -1049,33 +1019,32 @@ FINE: Request "/docs/config/manager.html
<subsection name="Advanced configuration with trusted proxies">
<p>RemoteIpFilter configuration: </p>
- <source>
- <filter>
- <filter-name>RemoteIpFilter</filter-name>
-
<filter-class>org.apache.catalina.filters.RemoteIpFilter</filter-class>
- <init-param>
- <param-name>allowedInternalProxies</param-name>
- <param-value>192\.168\.0\.10|192\.168\.0\.11</param-value>
- </init-param>
- <init-param>
- <param-name>remoteIpHeader</param-name>
- <param-value>x-forwarded-for</param-value>
- </init-param>
- <init-param>
- <param-name>remoteIpProxiesHeader</param-name>
- <param-value>x-forwarded-by</param-value>
- </init-param>
- <init-param>
- <param-name>trustedProxies</param-name>
- <param-value>proxy1|proxy2</param-value>
- </init-param>
- </filter>
- </source>
- <p>Request values: <table border="1" cellpadding="5">
+ <source><![CDATA[ <filter>
+ <filter-name>RemoteIpFilter</filter-name>
+ <filter-class>org.apache.catalina.filters.RemoteIpFilter</filter-class>
+ <init-param>
+ <param-name>allowedInternalProxies</param-name>
+ <param-value>192\.168\.0\.10|192\.168\.0\.11</param-value>
+ </init-param>
+ <init-param>
+ <param-name>remoteIpHeader</param-name>
+ <param-value>x-forwarded-for</param-value>
+ </init-param>
+ <init-param>
+ <param-name>remoteIpProxiesHeader</param-name>
+ <param-value>x-forwarded-by</param-value>
+ </init-param>
+ <init-param>
+ <param-name>trustedProxies</param-name>
+ <param-value>proxy1|proxy2</param-value>
+ </init-param>
+ </filter>]]></source>
+ <p>Request values:</p>
+ <table class="defaultTable">
<tr>
- <th bgcolor="#023264"><font color="#ffffff">Property</font></th>
- <th bgcolor="#023264"><font color="#ffffff">Value Before
RemoteIpFilter</font></th>
- <th bgcolor="#023264"><font color="#ffffff">Value After
RemoteIpFilter</font></th>
+ <th>Property</th>
+ <th>Value Before RemoteIpFilter</th>
+ <th>Value After RemoteIpFilter</th>
</tr>
<tr>
<td> request.remoteAddr </td>
@@ -1093,7 +1062,7 @@ FINE: Request "/docs/config/manager.html
<td> proxy1, proxy2 </td>
</tr>
</table>
- </p>
+
<p>
Note : <code>proxy1</code> and <code>proxy2</code> are both trusted
proxies that
come in <code>x-forwarded-for</code> header, they both are migrated in
@@ -1104,33 +1073,32 @@ FINE: Request "/docs/config/manager.html
<subsection name="Advanced configuration with internal and trusted proxies">
<p>RemoteIpFilter configuration: </p>
- <source>
- <filter>
- <filter-name>RemoteIpFilter</filter-name>
-
<filter-class>org.apache.catalina.filters.RemoteIpFilter</filter-class>
- <init-param>
- <param-name>allowedInternalProxies</param-name>
- <param-value>192\.168\.0\.10|192\.168\.0\.11</param-value>
- </init-param>
- <init-param>
- <param-name>remoteIpHeader</param-name>
- <param-value>x-forwarded-for</param-value>
- </init-param>
- <init-param>
- <param-name>remoteIpProxiesHeader</param-name>
- <param-value>x-forwarded-by</param-value>
- </init-param>
- <init-param>
- <param-name>trustedProxies</param-name>
- <param-value>proxy1|proxy2</param-value>
- </init-param>
- </filter>
- </source>
- <p>Request values: <table border="1" cellpadding="5">
+ <source><![CDATA[ <filter>
+ <filter-name>RemoteIpFilter</filter-name>
+ <filter-class>org.apache.catalina.filters.RemoteIpFilter</filter-class>
+ <init-param>
+ <param-name>allowedInternalProxies</param-name>
+ <param-value>192\.168\.0\.10|192\.168\.0\.11</param-value>
+ </init-param>
+ <init-param>
+ <param-name>remoteIpHeader</param-name>
+ <param-value>x-forwarded-for</param-value>
+ </init-param>
+ <init-param>
+ <param-name>remoteIpProxiesHeader</param-name>
+ <param-value>x-forwarded-by</param-value>
+ </init-param>
+ <init-param>
+ <param-name>trustedProxies</param-name>
+ <param-value>proxy1|proxy2</param-value>
+ </init-param>
+ </filter>]]></source>
+ <p>Request values:</p>
+ <table class="defaultTable">
<tr>
- <th bgcolor="#023264"><font color="#ffffff">Property</font></th>
- <th bgcolor="#023264"><font color="#ffffff">Value Before
RemoteIpFilter</font></th>
- <th bgcolor="#023264"><font color="#ffffff">Value After
RemoteIpFilter</font></th>
+ <th>Property</th>
+ <th>Value Before RemoteIpFilter</th>
+ <th>Value After RemoteIpFilter</th>
</tr>
<tr>
<td> request.remoteAddr </td>
@@ -1148,7 +1116,7 @@ FINE: Request "/docs/config/manager.html
<td> proxy1, proxy2 </td>
</tr>
</table>
- </p>
+
<p>
Note : <code>proxy1</code> and <code>proxy2</code> are both trusted
proxies that
come in <code>x-forwarded-for</code> header, they both are migrated in
@@ -1162,33 +1130,32 @@ FINE: Request "/docs/config/manager.html
<subsection name="Advanced configuration with an untrusted proxy">
<p>RemoteIpFilter configuration: </p>
- <source>
- <filter>
- <filter-name>RemoteIpFilter</filter-name>
-
<filter-class>org.apache.catalina.filters.RemoteIpFilter</filter-class>
- <init-param>
- <param-name>allowedInternalProxies</param-name>
- <param-value>192\.168\.0\.10|192\.168\.0\.11</param-value>
- </init-param>
- <init-param>
- <param-name>remoteIpHeader</param-name>
- <param-value>x-forwarded-for</param-value>
- </init-param>
- <init-param>
- <param-name>remoteIpProxiesHeader</param-name>
- <param-value>x-forwarded-by</param-value>
- </init-param>
- <init-param>
- <param-name>trustedProxies</param-name>
- <param-value>proxy1|proxy2</param-value>
- </init-param>
- </filter>
- </source>
- <p>Request values: <table border="1" cellpadding="5">
+ <source><![CDATA[ <filter>
+ <filter-name>RemoteIpFilter</filter-name>
+ <filter-class>org.apache.catalina.filters.RemoteIpFilter</filter-class>
+ <init-param>
+ <param-name>allowedInternalProxies</param-name>
+ <param-value>192\.168\.0\.10|192\.168\.0\.11</param-value>
+ </init-param>
+ <init-param>
+ <param-name>remoteIpHeader</param-name>
+ <param-value>x-forwarded-for</param-value>
+ </init-param>
+ <init-param>
+ <param-name>remoteIpProxiesHeader</param-name>
+ <param-value>x-forwarded-by</param-value>
+ </init-param>
+ <init-param>
+ <param-name>trustedProxies</param-name>
+ <param-value>proxy1|proxy2</param-value>
+ </init-param>
+ </filter>]]></source>
+ <p>Request values:</p>
+ <table class="defaultTable">
<tr>
- <th bgcolor="#023264"><font color="#ffffff">Property</font></th>
- <th bgcolor="#023264"><font color="#ffffff">Value Before
RemoteIpFilter</font></th>
- <th bgcolor="#023264"><font color="#ffffff">Value After
RemoteIpFilter</font></th>
+ <th>Property</th>
+ <th>Value Before RemoteIpFilter</th>
+ <th>Value After RemoteIpFilter</th>
</tr>
<tr>
<td> request.remoteAddr </td>
@@ -1206,7 +1173,7 @@ FINE: Request "/docs/config/manager.html
<td> proxy1 </td>
</tr>
</table>
- </p>
+
<p>
Note : <code>x-forwarded-by</code> holds the trusted proxy
<code>proxy1</code>.
<code>x-forwarded-by</code> holds <code>140.211.11.130</code> because
@@ -1351,23 +1318,20 @@ FINE: Request "/docs/config/manager.html
Request Dumper filter for all requests for that web application. If the
entries were added to <code>CATALINA_BASE/conf/web.xml</code>, the Request
Dumper Filter would be enabled for all web applications.</p>
- <source>
-<filter>
- <filter-name>requestdumper</filter-name>
- <filter-class>
+ <source><![CDATA[<filter>
+ <filter-name>requestdumper</filter-name>
+ <filter-class>
org.apache.catalina.filters.RequestDumperFilter
- </filter-class>
-</filter>
-<filter-mapping>
- <filter-name>requestdumper</filter-name>
- <url-pattern>*</url-pattern>
-</filter-mapping>
- </source>
+ </filter-class>
+</filter>
+<filter-mapping>
+ <filter-name>requestdumper</filter-name>
+ <url-pattern>*</url-pattern>
+</filter-mapping>]]></source>
<p>The following entries in CATALINA_BASE/conf/logging.properties would
create a separate log file for the Request Dumper Filter output.</p>
- <source>
-# To this configuration below, 1request-dumper.org.apache.juli.FileHandler
+ <source># To this configuration below,
1request-dumper.org.apache.juli.FileHandler
# also needs to be added to the handlers property near the top of the file
1request-dumper.org.apache.juli.FileHandler.level = INFO
1request-dumper.org.apache.juli.FileHandler.directory = ${catalina.base}/logs
@@ -1375,8 +1339,7 @@ FINE: Request "/docs/config/manager.html
1request-dumper.org.apache.juli.FileHandler.formatter =
org.apache.juli.VerbatimFormatter
org.apache.catalina.filters.RequestDumperFilter.level = INFO
org.apache.catalina.filters.RequestDumperFilter.handlers = \
- 1request-dumper.org.apache.juli.FileHandler
- </source>
+ 1request-dumper.org.apache.juli.FileHandler</source>
</subsection>
</section>
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]