Hi,

I found a solution to the problem described above. In your apache 
configuration (httpd.conf) you have to a proxyVia to the host the 
application is running on. My application is e.g. running on 
192.168.100.111 and the path is /daedalos/library (where daedalos is 
declared in jetty.xml and library is declared in web.xml). The configuraion 
should look like:

<IfModule mod_proxy.c>
ProxyRequests On
ProxyVia Full
ProxyPass        /daedalos/library 
http://192.168.100.111:1080/daedalos/library
ProxyPassReverse /daedalos/library 
http://192.168.100.111:1080/daedalos/library
ProxyPass               /daedalos/css           
http://192.168.100.111:1080/daedalos/css
ProxyPassReverse /daedalos/css  http://192.168.100.111:1080/daedalos/css
ProxyPass               /daedalos/img           
http://192.168.100.111:1080/daedalos/img
ProxyPassReverse /daedalos/img  http://192.168.100.111:1080/daedalos/img
</IfModule>

Now we only have to do a small change in net.sf.tapestry.html.Shell like 
this:

    private String buildBaseURL(IRequestCycle cycle)
    {
        RequestContext context = cycle.getRequestContext();
        if (context.getRequest().getHeader("Via") != null) {
                return context.getRequest().getHeader("Referer");
        }
        return context.getAbsoluteURL(cycle.getEngine().getServletPath());
    }

Here we scan the header to see whether we have a proxyVia. If this is true 
we then get the URL of the proxy and add this to the application path 
instead of the hostname the applicatoin is running on. I've tested this 
with apache and tapestry 2.2-alpha4. It works quite good. Sometimes I still 
have some problems with my images, but this should be a apache 
configuration problem.

Hope this looks like a good solution to you.

Best regards,


  Christian Noack, Moritz Becker, Dirk Olmes



--On Donnerstag, August 08, 2002 15:39:06 +0000 [EMAIL PROTECTED] wrote:

> Ouch!  Does the Apache server pass along any extra
> information (as extra HTTP headers, perhaps) that we can
> leverage to build a proper URL?
>
> This sounds like an issue that will hit many users; it
> should have a good fix in the framework.
>
> --
> [EMAIL PROTECTED]
>
> http://tapestry.sf.net
>> I switched over to 2.2-alpha4 and tried to install a new
>> tapestry-application in our intranet. The problem about that is, that
>> people from outside are not allowed to directly connect to the servelt
>> container. We have an apache server instead that is doing redirection.
>> I  cannot image how that should work, because no there is an absolute
>> base URL  (http://myhost ...) in the generated source of the page. My
>> form submit  goes directly to this (forbidden) URL and not to my apache
>> server anymore.  If there wasn't any host information in the base url, I
>> could define a  rewrite rule in my apache, now I cannot. [...]




Daedalos Consulting GmbH
www.daedalos.com
[EMAIL PROTECTED]


-------------------------------------------------------
This sf.net email is sponsored by:ThinkGeek
Welcome to geek heaven.
http://thinkgeek.com/sf
_______________________________________________
Tapestry-developer mailing list
[EMAIL PROTECTED]
https://lists.sourceforge.net/lists/listinfo/tapestry-developer

Reply via email to