Author: woonsan
Date: Mon Sep 28 15:00:08 2009
New Revision: 819569

URL: http://svn.apache.org/viewvc?rev=819569&view=rev
Log:
JS2-1071: Adding reverse proxy iframe portlet documentation.

Modified:
    portals/site/   (props changed)
    portals/site/applications/src/site/xdoc/webcontent/index.xml

Propchange: portals/site/
------------------------------------------------------------------------------
--- svn:ignore (original)
+++ svn:ignore Mon Sep 28 15:00:08 2009
@@ -4,3 +4,7 @@
 maven.log
 target
 .project
+
+.classpath
+
+.settings

Modified: portals/site/applications/src/site/xdoc/webcontent/index.xml
URL: 
http://svn.apache.org/viewvc/portals/site/applications/src/site/xdoc/webcontent/index.xml?rev=819569&r1=819568&r2=819569&view=diff
==============================================================================
--- portals/site/applications/src/site/xdoc/webcontent/index.xml (original)
+++ portals/site/applications/src/site/xdoc/webcontent/index.xml Mon Sep 28 
15:00:08 2009
@@ -1,139 +1,581 @@
 <?xml version="1.0"?>
-<!--
-       Licensed to the Apache Software Foundation (ASF) under one or more
-       contributor license agreements.  See the NOTICE file distributed with
-       this work for additional information regarding copyright ownership.
-       The ASF licenses this file to You under the Apache License, Version 2.0
-       (the "License"); you may not use this file except in compliance with
-       the License.  You may obtain a copy of the License at
-       
-       http://www.apache.org/licenses/LICENSE-2.0
-       
-       Unless required by applicable law or agreed to in writing, software
-       distributed under the License is distributed on an "AS IS" BASIS,
-       WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-       See the License for the specific language governing permissions and
-       limitations under the License.
--->
+  <!--
+    Licensed to the Apache Software Foundation (ASF) under one or more
+    contributor license agreements. See the NOTICE file distributed with
+    this work for additional information regarding copyright ownership.
+    The ASF licenses this file to You under the Apache License, Version
+    2.0 (the "License"); you may not use this file except in compliance
+    with the License. You may obtain a copy of the License at
+
+    http://www.apache.org/licenses/LICENSE-2.0 Unless required by
+    applicable law or agreed to in writing, software distributed under
+    the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES
+    OR CONDITIONS OF ANY KIND, either express or implied. See the
+    License for the specific language governing permissions and
+    limitations under the License.
+  -->
 <document>
-       <properties>
-               <title>Apache Portals Web Content Application</title>
-               <subtitle>Welcome to Apache Portals Web Content 
Application</subtitle>
-               <authors>
-                       <person name="David Sean Taylor" 
email="[email protected]" />
-               </authors>
-       </properties>
-       <body>
-               <section name="Welcome to Apache Portals Web Content 
Appplication">
-                       <div id="downloadbox">
-                               <h5>Get Portals Web Content App</h5>
-                               <p>
-                                       <a href="../download.html">
-                                               <img valign="top" 
src="../images/folder-open.gif"
-                                                       border="0" alt="" 
title="download" />
-                                               Download
-                                       </a>
-                                       Portals Applications 1.0 Downloads
-                               </p>
-                               <ul>
-                                       <li>
-                                               <a 
href="../getting-started.html">
-                                                       System Requirements
-                                               </a>
-                                       </li>
-                               </ul>
-                       </div>
-                       <p>
-A portlet application dedicated to the development of Web Content rewriting 
and IFrame based web content. The portlet applications here are designed to 
host content
-from another web site or local servlet inside of a portlet window. 
-                       </p>
-<p>The Web Content portet application consists of two portlets that have 
similiar functionality, but different approaches:
-<ul>
-<li>IFrame Portlet</li>
-<li>Web Content Portlet</li>
-</ul>
- Both portlets host content from a different website or local servlet inside a 
portlet window. The IFrame Portet achieves this by embedding an HTML <a 
href='http://www.w3schools.com/TAGS/tag_iframe.asp'>iframe</a> within a 
portlet. 
- The Web Content portlet takes a more complicated approach: it actually embeds 
the content of the remote website inside the HTML payload delivered by the 
portal, without the help of the browser.
- This second approach is more complicated since it may require rewriting all 
links within the hosted website, that is, if you want to keep the website 
navigation inside the portlet window.
- While a noble cause, this approach is far from perfect and does not always 
work correctly.</p>
- <p> If you are interested in secure versions of these portlets, see the 
Jetspeed-specific versions of both the IFrame and WebContent portlets found at 
the <a 
href='http://portals.apache.org/jetspeed-2/applications/j2-admin.html'>Jetspeed 
J2-Admin</a> website.
- The SSOIFrame and SSOWebContent portlets leverage the Jetspeed SSO Services, 
and are not portable to other portal servers.
-</p>                   
-<p>Here are the classes to declare when using the portlets:</p>
-<source>
-<![CDATA[       
-        
<portlet-class>org.apache.portals.applications.webcontent.portlet.IFrameGenericPortlet</portlet-class>
        
-]]>
-</source>
-<p>or</p>
-<source>
-<![CDATA[       
-        
<portlet-class>org.apache.portals.applications.webcontent.portlet.WebContentPortlet</portlet-class>
        
-]]>
-</source>                      
-<subsection name='Web Content Portlet Preferences'>
-<table>
-       <tr>
-               <th>Name</th>
-               <th>Example Value</th>
-               <th>Description</th>
-       </tr>
-       <tr>
-               <td>SRC</td>
-               <td>http://www.google.com</td>
-               <td>The URL of the remote or local site to be hosted.</td>
-       </tr>
-</table>
-</subsection>
-<subsection name='IFrame Portlet Preferences'>
-<table>
-       <tr>
-               <th>Name</th>
-               <th>Example Value</th>
-               <th>Description</th>
-       </tr>
-       <tr>
-               <td>SRC</td>
-               <td>http://www.apache.org</td>
-               <td>The URL of the remote or local site to be hosted.</td>
-       </tr>
-       <tr>
-               <td>HEIGHT</td>
-               <td>300</td>
-               <td>The height of the IFrame window when in Normal Window 
State</td>
-       </tr>
-       <tr>
-               <td>WIDTH</td>
-               <td>100%</td>
-               <td>The width of the IFrame window when in Normal Window State. 
Can be a percentage of available space to the portlet, or a constant value</td>
-       </tr>
-       <tr>
-               <td>MAX-HEIGHT</td>
-               <td>800</td>
-               <td>The height of the IFrame window when in Maximized Window 
State</td>
-       </tr>
-       <tr>
-               <td>MAX-WIDTH</td>
-               <td>100%</td>
-               <td>The width of the IFrame window when in Maximized Window 
State. Can be a percentage of available space to the portlet, or a constant 
value</td>
-       </tr>
-       
-       <tr>
-               <td>SCROLLING</td>
-               <td>AUTO | YES | NO</td>
-               <td>Specifies whether or not to display scrollbars in an 
iframe</td>
-       </tr>
-</table>
-</subsection>
-
-
-       <p>Here are examples of the Web Content and IFrame Portlets:</p>
-       <img src='../images/wc.png'/>
-       <img src='../images/iframe.png'/>
-
-                       </section>
-                       </body>
-                       </document>
-                       
-                                       
-                                       
\ No newline at end of file
+  <properties>
+    <title>Apache Portals Web Content Application</title>
+    <subtitle>Welcome to Apache Portals Web Content Application
+    </subtitle>
+    <authors>
+      <person name="David Sean Taylor" email="[email protected]" />
+    </authors>
+  </properties>
+  <body>
+    <section name="Welcome to Apache Portals Web Content Appplication">
+      <div id="downloadbox">
+        <h5>Get Portals Web Content App</h5>
+        <p>
+          <a href="../download.html">
+            <img valign="top" src="../images/folder-open.gif" border="0" 
alt="" title="download" />
+            Download
+          </a>
+          Portals Applications Downloads
+        </p>
+        <ul>
+          <li>
+            <a href="../getting-started.html">System Requirements</a>
+          </li>
+        </ul>
+      </div>
+      <p>
+        A portlet application dedicated to the development of Web Content
+        rewriting and IFrame based web content. The portlet applications
+        here are designed to host content
+        from another web site or local servlet inside of a portlet window. 
+      </p>
+      <p>
+        The Web Content portet application consists of three portlets
+        that have similiar functionality, but different approaches:
+        <ul>
+          <li>IFrame Portlet</li>
+          <li>ReverseProxy IFrame Portlet</li>
+          <li>Web Content Portlet</li>
+        </ul>
+        All the portlets host content from a different website or local
+        servlet inside a portlet window. 
+      </p>
+      <p>
+        The IFrame Portet achieves this
+        by embedding an HTML
+        <a href='http://www.w3schools.com/TAGS/tag_iframe.asp'>iframe</a>
+        within a portlet.
+      </p>
+      <p>
+        The ReverseProxy IFrame Portlet behaves in the same way as IFrame 
Portlet does,
+        except that it uses <a 
href="http://en.wikipedia.org/wiki/Reverse_proxy";>Reverse Proxy</a> URLs
+        instead of the original SRC URLs.
+        By using Reverse Proxy service component, more sophisticated content 
can be
+        served by setting content rewriting configurations or Cross-Domain 
Scripting can be enabled. 
+        The Web Content Application includes Reverse Proxy Service servlet and 
component.
+      </p>
+      <p>
+        The Web Content portlet takes a more complicated approach: it actually
+        embeds the content of the remote website inside the HTML payload
+        delivered by the portal, without the help of the browser.
+        This approach is more complicated since it may require rewriting
+        all links within the hosted website, that is, if you want to
+        keep the website navigation inside the portlet window.
+        While a noble cause, this approach is far from perfect and does not
+        always work correctly.
+      </p>
+      <p>
+        If you are interested in secure versions of these portlets, see
+        the Jetspeed-specific versions of the IFrame, ReverseProxyIFrame, or 
WebContent
+        portlets found at the
+        <a 
href='http://portals.apache.org/jetspeed-2/applications/j2-admin.html'>Jetspeed 
J2-Admin</a>
+        website.
+        The SSOIFrame, SSOReverseProxyIFrame and SSOWebContent portlets 
leverage the Jetspeed SSO
+        Services, and are not portable to other portal servers.
+      </p>
+      <p>Here are the classes to declare when using the portlets:</p>
+      <source><![CDATA[
+<portlet-class>org.apache.portals.applications.webcontent.portlet.IFrameGenericPortlet</portlet-class>
        
+      ]]></source>
+      <p>
+        <em>Note: The ReverseProxyIFramePortlet uses the same class, but has 
different preferences configurations.</em>
+      </p>
+      <p>or</p>
+      <source><![CDATA[
+<portlet-class>org.apache.portals.applications.webcontent.portlet.WebContentPortlet</portlet-class>
        
+      ]]></source>
+      <subsection name='Web Content Portlet Preferences'>
+        <table>
+          <tr>
+            <th>Name</th>
+            <th>Example Value</th>
+            <th>Description</th>
+          </tr>
+          <tr>
+            <td>SRC</td>
+            <td>http://www.google.com</td>
+            <td>The URL of the remote or local site to be hosted.
+            </td>
+          </tr>
+        </table>
+      </subsection>
+      <subsection name='IFrame or ReverseProxyIFrame Portlet Preferences'>
+        <table>
+          <tr>
+            <th>Name</th>
+            <th>Example Value</th>
+            <th>Description</th>
+          </tr>
+          <tr>
+            <td>SRC</td>
+            <td>http://portals.apache.org/index.html</td>
+            <td>The URL of the remote or local site to be hosted.</td>
+          </tr>
+          <tr>
+            <td>PROXYREMOTEURL</td>
+            <td>http://portals.apache.org/</td>
+            <td>
+              The base URL of the remote site.
+              If 'PROXYREMOTEURL' and 'PROXYLOCALPATH' are set,
+              then this portlet translates the 'SRC' url into a reverse proxy 
url
+              by replacing the value of 'PROXYREMOTEURL' by the value of 
'PROXYLOCALPATH'.
+              If you use the default reverse proxy component, then you should 
configure
+              the path mappings in the configuration file. (e.g., 
/WEB-INF/conf/reverseproxy.properties)
+            </td>
+          </tr>
+          <tr>
+            <td>PROXYLOCALPATH</td>
+            <td>rproxy/portals/</td>
+            <td>
+              The base URL of the local proxy URL.
+              If the value of 'PROXYLOCALPATH' doesn't starts with '/', then
+              this portlet prepends the context path of the local servlet 
application.
+              By default, this web application contains reverse proxy servlet 
mapped by '/rproxy' path.
+              For some cases, you can use other external proxy server by 
setting a context relative path
+              or absolute url such as '/apache' or 
'http://www.localhost.com/apache'.
+              If you use the default reverse proxy component, then you should 
configure
+              the path mappings in the configuration file. (e.g., 
/WEB-INF/conf/reverseproxy.properties)
+            </td>
+          </tr>
+          <tr>
+            <td>AUTORESIZE</td>
+            <td>true</td>
+            <td>
+              If this preference value is set to true, then
+              this portlet tries to resize the height of the IFRAME tag based 
on the rendered content.
+              However, this option is applied only when the 'SRC' url is in 
the same domain of the portal URL.
+              Also, if 'PROXYREMOTEURL' and 'PROXYLOCALPATH' are set to use a 
proxy url in the same domain,
+              then this option is applied as well.
+            </td>
+          </tr>
+          <tr>
+            <td>VISITLASTPAGE</td>
+            <td>true</td>
+            <td>
+              If this preference value is set to true, then
+              this last visited page in this portlet is stored in the session 
and the page will be revisited
+              when the portlet is rendered again.
+              However, this option is applied only when the 'SRC' url is in 
the same domain of the portal URL.
+              Also, if 'PROXYREMOTEURL' and 'PROXYLOCALPATH' are set to use a 
proxy url in the same domain,
+              then this option is applied as well.
+            </td>
+          </tr>
+          <tr>
+            <td>HEIGHT</td>
+            <td>300</td>
+            <td>The height of the IFrame window when in Normal Window 
State</td>
+          </tr>
+          <tr>
+            <td>WIDTH</td>
+            <td>100%</td>
+            <td>The width of the IFrame window when in Normal Window State. 
Can be a percentage of available space to the portlet, or a constant value</td>
+          </tr>
+          <tr>
+            <td>MAX-HEIGHT</td>
+            <td>800</td>
+            <td>The height of the IFrame window when in Maximized Window 
State</td>
+          </tr>
+          <tr>
+            <td>MAX-WIDTH</td>
+            <td>100%</td>
+            <td>The width of the IFrame window when in Maximized Window State. 
Can be a percentage of available space to the portlet, or a constant value</td>
+          </tr>
+          <tr>
+            <td>SCROLLING</td>
+            <td>AUTO | YES | NO</td>
+            <td>Specifies whether or not to display scrollbars in an 
iframe</td>
+          </tr>
+        </table>
+      </subsection>
+      <subsection name='ReverseProxyService Configurations'>
+        <p>
+          The ReverseProxyService component is initialized by the 
ReverseProxyServlet configured in the web.xml as follows:
+          <source><![CDATA[
+<!-- Default Reverse Proxy Servlet -->
+<servlet>
+  <servlet-name>ReverseProxyServlet</servlet-name>
+  
<servlet-class>org.apache.portals.applications.webcontent.proxy.impl.DefaultHttpReverseProxyServlet</servlet-class>
+  <init-param>
+    <param-name>reverseproxy.configuration</param-name>
+    <param-value>/WEB-INF/conf/reverseproxy.properties</param-value>
+  </init-param>
+  <init-param>
+    <param-name>reverseproxy.configuration.refresh.delay</param-name>
+    <param-value>60000</param-value>
+  </init-param>
+  <load-on-startup>11</load-on-startup>
+</servlet>
+
+<!-- Map /rproxy path to the Default Reverse Proxy Servlet -->
+<servlet-mapping>
+  <servlet-name>ReverseProxyServlet</servlet-name>
+  <url-pattern>/rproxy/*</url-pattern>
+</servlet-mapping>
+          ]]></source>
+        </p>
+        <p>
+          The above servlet can have the following init parameters:
+          <table>
+            <tr>
+              <th>Name</th>
+              <th>Example Value</th>
+              <th>Description</th>
+            </tr>
+            <tr>
+              <td>reverseproxy.configuration</td>
+              <td>/WEB-INF/conf/reverseproxy.properties</td>
+              <td>The context relative path of the configuration properties 
file.</td>
+            </tr>
+            <tr>
+              <td>reverseproxy.configuration.refresh.delay</td>
+              <td>60000</td>
+              <td>
+                The milliseconds of automatic refreshing interval.
+                If this value is set to a positive number, then
+                the servlet checks if the configuration file has been modified 
and
+                it tries to reload the configuration if there's any changes.
+                By default, this value is set to zero without automatic 
refreshment.
+              </td>
+            </tr>
+          </table>
+        </p>
+        <p>
+          In the above servlet mapping configuration, 
+          the entry path mapping of this reverse proxy servlet is set to 
'/rproxy/*'.
+          So, the remaining local path info after the '/rproxy' is used to map 
the path
+          to the remote url.
+          This mapping configurations and other sophisticated http parameters 
are configured
+          in '/WEB-INF/conf/reverseproxy.properties' by default.
+          A simple configuration example can be as follows:
+          <source><![CDATA[
+# A very simple configuration of reverseproxy.properties
+#
+# Proxy Pass Reverse Mapping configurations for each category
+# ... Put the path item names here. Each path item will be evaluated by the 
order. 
+proxy.reverse.pass = apache, portals
+
+proxy.reverse.pass.apache.local = /apache/
+proxy.reverse.pass.apache.remote = http://www.apache.org/
+
+proxy.reverse.pass.portals.local = /portals/
+proxy.reverse.pass.portals.remote = http://portals.apache.org/
+          ]]></source>
+        </p>
+        <p>
+          In the above example, just two path mappings are defined: 
+          One for http://www.apache.org/ and the other for 
http://portals.apache.org/.
+          For http://www.apache.org/, the local path, /apache/, is mapped.
+          And for http://portals.apache.org/, the local path, /portals/, is 
mapped.
+          So, if you visit the reverse proxy url like 
'http://localhost:8080/webcontent/rproxy/portals/index.html
+          in your browser, then you can browse the Apache Portals homepage via 
the reverse proxy component!
+        </p>
+        <p>
+          Here are full descriptions for configuration properties.
+          <br/>
+          <em>
+            Note: The previously defined property variables are automatically 
expanded when the configuration has
+                  the variable references wrapped by '${property.name}' like 
the following example:
+            <source><![CDATA[
+defaults.htmlRewriter = examples.WebContentRewriter
+defaults.xmlRewriter = examples.WebContentRewriter
+# The following will be expanded to 'examples.WebContentRewriter, 
examples.WebContentRewriter'.
+proxy.reverse.pass.somewhere.rewriters = ${defaults.htmlRewriter}, 
${defaults.xmlRewriter} 
+            ]]></source>
+          </em>
+          <table>
+            <tr>
+              <th>Property</th>
+              <th>Default Value</th>
+              <th>Example Value</th>
+              <th>Description</th>
+            </tr>
+            <tr>
+              <td>proxy.http.client.param.allowCircularRedirects</td>
+              <td>false</td>
+              <td>false</td>
+              <td>Flag whether the internal http client object should allow 
circular redirects.</td>
+            </tr>
+            <tr>
+              <td>proxy.http.connManager.param.maxTotalConnections</td>
+              <td>2</td>
+              <td>200</td>
+              <td>
+                The maximum http connection counts.
+                If there's any http connections available, then it will block 
the request until it gets a connection.
+              </td>
+            </tr>
+            <tr>
+              <td>proxy.http.connManager.param.timeout</td>
+              <td>0</td>
+              <td>10000</td>
+              <td>
+                The maximum waiting time to create http connection.
+                If this is set to zero, it waits without timeout option, so it 
depends on the system configuration.
+              </td>
+            </tr>
+            <tr>
+              <td>proxy.http.route.param.defaultMaxPerRoute</td>
+              <td></td>
+              <td>20</td>
+              <td>
+                The default maximum http connection count per route.
+              </td>
+            </tr>
+            <tr>
+              <td>proxy.http.route</td>
+              <td></td>
+              <td>apache, portals</td>
+              <td>
+                The comma delimited HTTP route names. Each route name should 
be used
+                in the following configuration properties to set detailed http 
connection options
+                for each route.
+              </td>
+            </tr>
+            <tr>
+              <td>proxy.http.route.&lt;routename&gt;.target.hostname</td>
+              <td></td>
+              <td>portals.apache.org</td>
+              <td>
+                &lt;routename&gt; should be replaced by the real route name.
+                With this example, you may use 'apache' or 'portals'.
+                <br/>
+                The host name of the target of this route.
+              </td>
+            </tr>
+            <tr>
+              <td>proxy.http.route.&lt;routename&gt;.target.port</td>
+              <td></td>
+              <td>80</td>
+              <td>
+                &lt;routename&gt; should be replaced by the real route name.
+                With this example, you may use 'apache' or 'portals'.
+                <br/>
+                The port number of the target of this route.
+                If you don't set this property, it means ANY port is allowed 
for this route.
+              </td>
+            </tr>
+            <tr>
+              <td>proxy.http.route.&lt;routename&gt;.target.scheme</td>
+              <td></td>
+              <td>http</td>
+              <td>
+                &lt;routename&gt; should be replaced by the real route name.
+                With this example, you may use 'apache' or 'portals'.
+                <br/>
+                The scheme of the target of this route.
+                If you don't set this property, it means ANY scheme is allowed 
for this route.
+              </td>
+            </tr>
+            <tr>
+              <td>proxy.http.route.&lt;routename&gt;.maxConnections</td>
+              <td></td>
+              <td>40</td>
+              <td>
+                &lt;routename&gt; should be replaced by the real route name.
+                With this example, you may use 'apache' or 'portals'.
+                <br/>
+                The maximum http connection count of the target of this route.
+              </td>
+            </tr>
+            <tr>
+              <td>proxy.http.route.&lt;routename&gt;.local</td>
+              <td></td>
+              <td></td>
+              <td>
+                &lt;routename&gt; should be replaced by the real route name.
+                With this example, you may use 'apache' or 'portals'.
+                <br/>
+                The local address to connect from.
+              </td>
+            </tr>
+            <tr>
+              <td>proxy.http.route.&lt;routename&gt;.secure</td>
+              <td>false</td>
+              <td></td>
+              <td>
+                &lt;routename&gt; should be replaced by the real route name.
+                With this example, you may use 'apache' or 'portals'.
+                <br/>
+                Whether the route is (supposed to be) secure.
+              </td>
+            </tr>
+            <tr>
+              <td>proxy.http.route.&lt;routename&gt;.tunnelled</td>
+              <td>plain</td>
+              <td>tunneled</td>
+              <td>
+                &lt;routename&gt; should be replaced by the real route name.
+                With this example, you may use 'apache' or 'portals'.
+                <br/>
+                Whether the the route is tunnelled through the proxy.
+              </td>
+            </tr>
+            <tr>
+              <td>proxy.http.route.&lt;routename&gt;.layered</td>
+              <td>plain</td>
+              <td>layered</td>
+              <td>
+                &lt;routename&gt; should be replaced by the real route name.
+                With this example, you may use 'apache' or 'portals'.
+                <br/>
+                Whether the route is layered.
+              </td>
+            </tr>
+            <tr>
+              <td>proxy.http.route.&lt;routename&gt;.proxy</td>
+              <td></td>
+              <td>proxyserver1, proxyserver2</td>
+              <td>
+                The comma delimited HTTP proxy names. Each proxy name should 
be used
+                in the following configuration properties to set detailed http 
connection options
+                for each proxy.
+              </td>
+            </tr>
+            <tr>
+              
<td>proxy.http.route.&lt;routename&gt;.proxy.&lt;proxyname&gt;.hostname</td>
+              <td></td>
+              <td>proxyserver1</td>
+              <td>
+                &lt;routename&gt; and &lt;proxyname&gt; should be replaced by 
the real route name and proxy name.
+                With this example, you may use 'apache' or 'portals' for 
&lt;routename&gt;
+                and you may use 'proxyserver1' or 'proxyserver2' for 
&lt;proxyname&gt;.
+                <br/>
+                The host name of the target of this proxy.
+              </td>
+            </tr>
+            <tr>
+              
<td>proxy.http.route.&lt;routename&gt;.proxy.&lt;proxyname&gt;.port</td>
+              <td></td>
+              <td>10080</td>
+              <td>
+                &lt;routename&gt; and &lt;proxyname&gt; should be replaced by 
the real route name and proxy name.
+                With this example, you may use 'apache' or 'portals' for 
&lt;routename&gt;
+                and you may use 'proxyserver1' or 'proxyserver2' for 
&lt;proxyname&gt;.
+                <br/>
+                The port number of the target of this proxy.
+                If you don't set this property, it means ANY port is allowed 
for this proxy.
+              </td>
+            </tr>
+            <tr>
+              
<td>proxy.http.route.&lt;routename&gt;.proxy.&lt;proxyname&gt;.scheme</td>
+              <td></td>
+              <td>http</td>
+              <td>
+                &lt;routename&gt; and &lt;proxyname&gt; should be replaced by 
the real route name and proxy name.
+                With this example, you may use 'apache' or 'portals' for 
&lt;routename&gt;
+                and you may use 'proxyserver1' or 'proxyserver2' for 
&lt;proxyname&gt;.
+                <br/>
+                The scheme of the target of this proxy.
+                If you don't set this property, it means ANY scheme is allowed 
for this proxy.
+              </td>
+            </tr>
+            <tr>
+              <td>proxy.reverse.pass</td>
+              <td></td>
+              <td>apache, portals</td>
+              <td>
+                The comma delimited path names for reverse proxy mappings.
+                Each path name should be used in the following configuration 
properties
+                to set detailed reverse proxy path mappings.
+              </td>
+            </tr>
+            <tr>
+              <td>proxy.reverse.pass.&lt;pathname&gt;.local</td>
+              <td></td>
+              <td>/portals/</td>
+              <td>
+                &lt;pathname&gt; should be replaced by the real path name.
+                With this example, you may use 'apache' or 'portals' for 
&lt;pathname&gt;.
+                <br/>
+                The base local path info of the reverse proxy mapping.
+                For example, if the relative url is 
'/webcontent/rproxy/portals/index.html', then
+                because the path info is '/portals/index.html', this path 
mapping is selected.
+              </td>
+            </tr>
+            <tr>
+              <td>proxy.reverse.pass.&lt;pathname&gt;.remote</td>
+              <td></td>
+              <td>http://portals.apache.org/</td>
+              <td>
+                &lt;pathname&gt; should be replaced by the real path name.
+                With this example, you may use 'apache' or 'portals' for 
&lt;pathname&gt;.
+                <br/>
+                The base remote url of the reverse proxy mapping.
+                For example, if the relative url is 
'/webcontent/rproxy/portals/index.html', then
+                because the path info is '/portals/index.html', this path 
mapping is selected and
+                the translated remote url can be 
'http://portals.apache.org/index.html'.
+              </td>
+            </tr>
+            <tr>
+              <td>proxy.reverse.pass.&lt;pathname&gt;.rewriters</td>
+              <td></td>
+              <td>
+                org.apache.portals.applications. webcontent.rewriter. 
WebContentRewriter,
+                org.apache.portals.applications. webcontent.rewriter. 
WebContentRewriter
+              </td>
+              <td>
+                &lt;pathname&gt; should be replaced by the real path name.
+                With this example, you may use 'apache' or 'portals' for 
&lt;pathname&gt;.
+                <br/>
+                Content rewriter class names for text/html type and text/xml 
type.
+              </td>
+            </tr>
+            <tr>
+              <td>proxy.reverse.pass.&lt;pathname&gt;.adaptors</td>
+              <td></td>
+              <td>
+                org.apache.portals.applications. 
webcontent.rewriter.html.neko. NekoParserAdaptor,
+                org.apache.portals.applications. webcontent.rewriter.xml. 
SaxParserAdaptor
+              </td>
+              <td>
+                &lt;pathname&gt; should be replaced by the real path name.
+                With this example, you may use 'apache' or 'portals' for 
&lt;pathname&gt;.
+                <br/>
+                Content parser adaptor class names for text/html type and 
text/xml type.
+              </td>
+            </tr>
+            <tr>
+              <td>proxy.reverse.pass.&lt;pathname&gt;.rules</td>
+              <td></td>
+              <td>
+                /WEB-INF/conf/rewriter-rules-mapping.xml,
+                /WEB-INF/conf/default-rewriter-rules.xml
+              </td>
+              <td>
+                &lt;pathname&gt; should be replaced by the real path name.
+                With this example, you may use 'apache' or 'portals' for 
&lt;pathname&gt;.
+                <br/>
+                The rewriting rule mapping configuration and
+                rewriter rule definition.
+              </td>
+            </tr>
+          </table>
+        </p>
+      </subsection>
+
+      <p>Here are examples of the Web Content and IFrame Portlets:</p>
+      <img src='../images/wc.png'/>
+      <img src='../images/iframe.png'/>
+
+    </section>
+
+  </body>
+
+</document>


Reply via email to