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/