Resin, havent heard about that in years:) So it's still there..

Are you using mod proxy..? You could try to set proxypreserve host on... but I havent been able to get it to work... But never matter what, your url should be rewritten whats your apache vhost conf? And are you using proxypassreverse..? And you can also get apache to add headers for you(im not sure if thats what your doing?)..

Did you see this:

http://cwiki.apache.org/WICKET/wicket-behind-a-front-end-proxy.html

Matthew Hanlon wrote:
Yes, it's running on Resin behind Apache.  I think I'm probably missing
something in my configurations somewhere.  I don't like either of the
methods I mentioned below.  Still trying to figure out the best solution.

On Fri, Jun 27, 2008 at 4:29 PM, Nino Saturnino Martinez Vazquez Wael <
[EMAIL PROTECTED]> wrote:

Which proxy are it? apache2 httpd?

Matthew Hanlon wrote:

Hmm.  I on further thought, "Referer" is not the proper header to use.
Something more like this instead:

public String getUrl(MyResource res) {
       PageParameters params = new PageParameters();
       params.put(Constants.MY_RESOURCE, res.getId());

       WebRequestCycle cycle = (WebRequestCycle)RequestCycle.get();
       String urn = cycle.urlFor(MyResponsePage.class, params).toString();
       String host =
cycle.getWebRequest().getHttpServletRequest().getHeader("Host");
       String context =
cycle.getWebRequest().getHttpServletRequest().getContextPath();

       StringBuffer url = new StringBuffer();
       url.append("http://
").append(host).append(context).append("/").append(urn);

       return url.toString();
   }

On Fri, Jun 27, 2008 at 9:58 AM, Matthew Hanlon <[EMAIL PROTECTED]>
wrote:



I was having a problem getting the full url of a page or resource after
deploying my application behind a proxy.  I was previously doing the
following:

public String getUrl(MyResource res) {
PageParameters params = new PageParameters();
params.put(Constants.MY_RESOURCE, res.getId());
WebRequestCycle cycle = (WebRequestCycle)RequestCycle.get();
return RequestUtils.toAbsolutePath(cycle.urlFor(MyResponsePage.class,
params).toString());
 }

However, after deploying behind a proxy, I was expecting to get "
http://my.domain.com/MyResourcePage/resouce/xxx"; and instead was getting
"
http://localhost:8080/MyResourcePage/resouce/xxx";.  So I adjusted to
doing
the following:

 public String getUrl(MyResource res) {
       PageParameters params = new PageParameters();
       params.put(Constants.MY_RESOURCE, res.getId());
       WebRequestCycle cycle = (WebRequestCycle)RequestCycle.get();
       String urn = cycle.urlFor(MyResponsePage.class,
params).toString();
       String referer =
cycle.getWebRequest().getHttpServletRequest().getHeader("Referer");
       String context =
cycle.getWebRequest().getHttpServletRequest().getContextPath();
       PrependingStringBuffer url = new PrependingStringBuffer(urn);
       url.prepend(referer.substring(0, referer.indexOf(context) +
context.length() + 1));
       return url.toString();
 }

It's working, but I was curious if anyone had any input or a better
method
of accomplishing this.  Thanks!

Regards,
Matthew.

--
Matthew Rollins Hanlon
http://squareoftwo.org
_____________________
Hanlon's Razor:
"Never attribute to malice that which can be adequately explained by
stupidity."
http://wikipedia.org/wiki/Hanlon's_razor<http://wikipedia.org/wiki/Hanlon%27s_razor>
<http://wikipedia.org/wiki/Hanlon%27s_razor>






--
-Wicket for love

Nino Martinez Wael
Java Specialist @ Jayway DK
http://www.jayway.dk
+45 2936 7684


---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]





--
-Wicket for love

Nino Martinez Wael
Java Specialist @ Jayway DK
http://www.jayway.dk
+45 2936 7684


---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to