You are viewing a plain text version of this content. The canonical link for it is here.
Posted to portalapps-dev@portals.apache.org by wo...@apache.org on 2009/10/06 12:06:27 UTC
svn commit: r822185 - in /portals/applications/webcontent/trunk:
webcontent-jar/src/test/java/org/apache/portals/applications/webcontent/proxy/
webcontent-war/src/main/webapp/WEB-INF/conf/
Author: woonsan
Date: Tue Oct 6 10:06:26 2009
New Revision: 822185
URL: http://svn.apache.org/viewvc?rev=822185&view=rev
Log:
APA-17: Adding configuration example of apache site for https
Modified:
portals/applications/webcontent/trunk/webcontent-jar/src/test/java/org/apache/portals/applications/webcontent/proxy/TestProxyPathMappings.java
portals/applications/webcontent/trunk/webcontent-jar/src/test/java/org/apache/portals/applications/webcontent/proxy/TestReverseProxyLinkRewritingParserAaptor.java
portals/applications/webcontent/trunk/webcontent-war/src/main/webapp/WEB-INF/conf/reverseproxy.properties
Modified: portals/applications/webcontent/trunk/webcontent-jar/src/test/java/org/apache/portals/applications/webcontent/proxy/TestProxyPathMappings.java
URL: http://svn.apache.org/viewvc/portals/applications/webcontent/trunk/webcontent-jar/src/test/java/org/apache/portals/applications/webcontent/proxy/TestProxyPathMappings.java?rev=822185&r1=822184&r2=822185&view=diff
==============================================================================
--- portals/applications/webcontent/trunk/webcontent-jar/src/test/java/org/apache/portals/applications/webcontent/proxy/TestProxyPathMappings.java (original)
+++ portals/applications/webcontent/trunk/webcontent-jar/src/test/java/org/apache/portals/applications/webcontent/proxy/TestProxyPathMappings.java Tue Oct 6 10:06:26 2009
@@ -46,8 +46,10 @@
proxyPathMappers.add(new DefaultHttpReverseProxyPathMapperImpl("localhost", "/localhost/", "http://www.localhost.com/", null));
proxyPathMappers.add(new DefaultHttpReverseProxyPathMapperImpl("localhost1", "/localhost/path1/", "http://www.localhost.com/path1/", null));
proxyPathMappers.add(new DefaultHttpReverseProxyPathMapperImpl("localhost2", "/localhost/path1/path2/", "http://www.localhost.com/path1/path2/", null));
+ proxyPathMappers.add(new DefaultHttpReverseProxyPathMapperImpl("apache0", "/apache/", "http://apache.org/", null));
proxyPathMappers.add(new DefaultHttpReverseProxyPathMapperImpl("apache", "/*_apache/", "http://$1.apache.org/", null));
- proxyPathMappers.add(new DefaultHttpReverseProxyPathMapperImpl("apache", "/*.google.*/", "http://$1.google.$2/", null));
+ proxyPathMappers.add(new DefaultHttpReverseProxyPathMapperImpl("secure_apache", "/secure/*_apache/", "https://$1.apache.org/", null));
+ proxyPathMappers.add(new DefaultHttpReverseProxyPathMapperImpl("google", "/*.google.*/", "http://$1.google.$2/", null));
pathMapperProvider = new DefaultHttpReverseProxyPathMapperProviderImpl(proxyPathMappers, rewriterControllerMap, rewriterRulesetMap);
pathMapperProvider.setMaxMatchingPathPartCount(3);
}
@@ -68,12 +70,23 @@
assertEquals("http://www.apache.org/index.html", mapper.getRemoteURL("/www_apache/index.html"));
assertEquals("/www_apache/index.html", mapper.getLocalPath("http://www.apache.org/index.html"));
+ mapper = pathMapperProvider.findMapper("/apache/index.html");
+ assertEquals("apache0", mapper.getName());
+ assertEquals("http://apache.org/index.html", mapper.getRemoteURL("/apache/index.html"));
+
mapper = pathMapperProvider.findMapper("/portals_apache/index.html");
assertEquals("apache:/portals_apache/", mapper.getName());
mapper = pathMapperProvider.findMapperByRemoteURL("http://portals.apache.org/index.html");
assertEquals("apache:/portals_apache/", mapper.getName());
assertEquals("http://portals.apache.org/index.html", mapper.getRemoteURL("/portals_apache/index.html"));
assertEquals("/portals_apache/index.html", mapper.getLocalPath("http://portals.apache.org/index.html"));
+
+ mapper = pathMapperProvider.findMapper("/secure/www_apache/index.html");
+ assertEquals("secure_apache:/secure/www_apache/", mapper.getName());
+ mapper = pathMapperProvider.findMapperByRemoteURL("https://blogs.apache.org/index.html");
+ assertEquals("secure_apache:/secure/blogs_apache/", mapper.getName());
+ assertEquals("https://blogs.apache.org/index.html", mapper.getRemoteURL("/secure/blogs_apache/index.html"));
+ assertEquals("/secure/blogs_apache/index.html", mapper.getLocalPath("https://blogs.apache.org/index.html"));
}
public void testProxyURLMappings() throws Exception
@@ -84,6 +97,12 @@
mapper = pathMapperProvider.findMapperByRemoteURL("http://portals.apache.org/index.html");
assertEquals("/portals_apache/", mapper.getLocalBasePath());
+ mapper = pathMapperProvider.findMapperByRemoteURL("https://www.apache.org/index.html");
+ assertEquals("/secure/www_apache/", mapper.getLocalBasePath());
+
+ mapper = pathMapperProvider.findMapperByRemoteURL("https://blogs.apache.org/index.html");
+ assertEquals("/secure/blogs_apache/", mapper.getLocalBasePath());
+
mapper = pathMapperProvider.findMapperByRemoteURL("http://www.localhost.com/path1/path2/index.html");
assertEquals("/localhost/path1/path2/", mapper.getLocalBasePath());
Modified: portals/applications/webcontent/trunk/webcontent-jar/src/test/java/org/apache/portals/applications/webcontent/proxy/TestReverseProxyLinkRewritingParserAaptor.java
URL: http://svn.apache.org/viewvc/portals/applications/webcontent/trunk/webcontent-jar/src/test/java/org/apache/portals/applications/webcontent/proxy/TestReverseProxyLinkRewritingParserAaptor.java?rev=822185&r1=822184&r2=822185&view=diff
==============================================================================
--- portals/applications/webcontent/trunk/webcontent-jar/src/test/java/org/apache/portals/applications/webcontent/proxy/TestReverseProxyLinkRewritingParserAaptor.java (original)
+++ portals/applications/webcontent/trunk/webcontent-jar/src/test/java/org/apache/portals/applications/webcontent/proxy/TestReverseProxyLinkRewritingParserAaptor.java Tue Oct 6 10:06:26 2009
@@ -57,22 +57,30 @@
"href=\"/docs/\">Docs</a> and <a href='/documents/'>Documents</a></p>\n" +
"<p><a \n" +
"href=\"http://www.localhost.com/manager/list\">Application Management</a></p>\n" +
+ "<p><a href=\"https://blogs.apache.org/index.html\">Apache Blogs</a></p>\n" +
+ "<p><a href=\"http://apache.org/index.html\">Apache Software Foundation</a></p>\n" +
"</html>";
private HttpReverseProxyPathMapperProvider proxyPathMapperProvider;
private HttpReverseProxyPathMapper apacheProxyPathMapper;
+ private HttpReverseProxyPathMapper apache0ProxyPathMapper;
+ private HttpReverseProxyPathMapper securedApacheProxyPathMapper;
private HttpReverseProxyPathMapper localhostProxyPathMapper;
@Override
public void setUp()
{
apacheProxyPathMapper = new DefaultHttpReverseProxyPathMapperImpl("apache", "/*_apache/", "http://$1.apache.org/", null);
+ apache0ProxyPathMapper = new DefaultHttpReverseProxyPathMapperImpl("apache0", "/apache/", "http://apache.org/", null);
+ securedApacheProxyPathMapper = new DefaultHttpReverseProxyPathMapperImpl("secure_apache", "/secure/*_apache/", "https://$1.apache.org/", null);
localhostProxyPathMapper = new DefaultHttpReverseProxyPathMapperImpl("localhost", "/localhost/", "http://www.localhost.com/", null);
Map<HttpReverseProxyPathMapper, RewriterController> rewriterControllerMap = new HashMap<HttpReverseProxyPathMapper, RewriterController>();
Map<HttpReverseProxyPathMapper, Ruleset> rewriterRulesetMap = new HashMap<HttpReverseProxyPathMapper, Ruleset>();
List<HttpReverseProxyPathMapper> proxyPathMappers = new ArrayList<HttpReverseProxyPathMapper>();
proxyPathMappers.add(apacheProxyPathMapper);
+ proxyPathMappers.add(apache0ProxyPathMapper);
+ proxyPathMappers.add(securedApacheProxyPathMapper);
proxyPathMappers.add(localhostProxyPathMapper);
proxyPathMapperProvider = new DefaultHttpReverseProxyPathMapperProviderImpl(proxyPathMappers, rewriterControllerMap, rewriterRulesetMap);
@@ -109,6 +117,8 @@
assertTrue("Wrong rewriting: " + lines.get(5), StringUtils.contains(lines.get(5), "href='/webcontent/rproxy/localhost/manager/start'"));
assertTrue("Wrong rewriting: " + lines.get(7), StringUtils.contains(lines.get(7), "href=\"/webcontent/rproxy/www_apache/docs/\""));
assertTrue("Wrong rewriting: " + lines.get(9), StringUtils.contains(lines.get(9), "href=\"/webcontent/rproxy/localhost/manager/list\""));
+ assertTrue("Wrong rewriting: " + lines.get(10), StringUtils.contains(lines.get(10), "href=\"/webcontent/rproxy/secure/blogs_apache/index.html\""));
+ assertTrue("Wrong rewriting: " + lines.get(11), StringUtils.contains(lines.get(11), "href=\"/webcontent/rproxy/apache/index.html\""));
}
}
Modified: portals/applications/webcontent/trunk/webcontent-war/src/main/webapp/WEB-INF/conf/reverseproxy.properties
URL: http://svn.apache.org/viewvc/portals/applications/webcontent/trunk/webcontent-war/src/main/webapp/WEB-INF/conf/reverseproxy.properties?rev=822185&r1=822184&r2=822185&view=diff
==============================================================================
--- portals/applications/webcontent/trunk/webcontent-war/src/main/webapp/WEB-INF/conf/reverseproxy.properties (original)
+++ portals/applications/webcontent/trunk/webcontent-war/src/main/webapp/WEB-INF/conf/reverseproxy.properties Tue Oct 6 10:06:26 2009
@@ -68,7 +68,7 @@
# 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, localhost, somewhere
+proxy.reverse.pass = apache, all_apache, secure_apache, all_secure_apache, localhost, somewhere
# ... Set cache count of proxy path mappers which are dynamically created by glob style mappings.
proxy.reverse.pass.dynamicProxyPathMapperCacheCount = 1000
# ... Set max matching path part count
@@ -76,14 +76,38 @@
# ... Sets detail attributes for each path item.
-proxy.reverse.pass.apache.local = /*_apache/
-proxy.reverse.pass.apache.remote = http://$1.apache.org/
+proxy.reverse.pass.apache.local = /apache/
+proxy.reverse.pass.apache.remote = http://apache.org/
proxy.reverse.pass.apache.rewriter.basic = org.apache.portals.applications.webcontent.rewriter.WebContentRewriter
proxy.reverse.pass.apache.rewriter.parserAdaptor = html
proxy.reverse.pass.apache.rewriter.parserAdaptor.html = org.apache.portals.applications.webcontent.proxy.impl.DefaultReverseProxyLinkRewritingParserAaptor
proxy.reverse.pass.apache.rewriter.parserAdaptor.html.mimeType = text/html
proxy.reverse.pass.apache.rewriter.parserAdaptor.html.property.lookUpAllMappings = true
+proxy.reverse.pass.all_apache.local = /*_apache/
+proxy.reverse.pass.all_apache.remote = http://$1.apache.org/
+proxy.reverse.pass.all_apache.rewriter.basic = org.apache.portals.applications.webcontent.rewriter.WebContentRewriter
+proxy.reverse.pass.all_apache.rewriter.parserAdaptor = html
+proxy.reverse.pass.all_apache.rewriter.parserAdaptor.html = org.apache.portals.applications.webcontent.proxy.impl.DefaultReverseProxyLinkRewritingParserAaptor
+proxy.reverse.pass.all_apache.rewriter.parserAdaptor.html.mimeType = text/html
+proxy.reverse.pass.all_apache.rewriter.parserAdaptor.html.property.lookUpAllMappings = true
+
+proxy.reverse.pass.secure_apache.local = /secure/apache/
+proxy.reverse.pass.secure_apache.remote = https://apache.org/
+proxy.reverse.pass.secure_apache.rewriter.basic = org.apache.portals.applications.webcontent.rewriter.WebContentRewriter
+proxy.reverse.pass.secure_apache.rewriter.parserAdaptor = html
+proxy.reverse.pass.secure_apache.rewriter.parserAdaptor.html = org.apache.portals.applications.webcontent.proxy.impl.DefaultReverseProxyLinkRewritingParserAaptor
+proxy.reverse.pass.secure_apache.rewriter.parserAdaptor.html.mimeType = text/html
+proxy.reverse.pass.secure_apache.rewriter.parserAdaptor.html.property.lookUpAllMappings = true
+
+proxy.reverse.pass.all_secure_apache.local = /secure/*_apache/
+proxy.reverse.pass.all_secure_apache.remote = https://$1.apache.org/
+proxy.reverse.pass.all_secure_apache.rewriter.basic = org.apache.portals.applications.webcontent.rewriter.WebContentRewriter
+proxy.reverse.pass.all_secure_apache.rewriter.parserAdaptor = html
+proxy.reverse.pass.all_secure_apache.rewriter.parserAdaptor.html = org.apache.portals.applications.webcontent.proxy.impl.DefaultReverseProxyLinkRewritingParserAaptor
+proxy.reverse.pass.all_secure_apache.rewriter.parserAdaptor.html.mimeType = text/html
+proxy.reverse.pass.all_secure_apache.rewriter.parserAdaptor.html.property.lookUpAllMappings = true
+
proxy.reverse.pass.localhost.local = /localhost/
proxy.reverse.pass.localhost.remote = http://localhost:8080/