You are viewing a plain text version of this content. The canonical link for it is here.
Posted to users@wicket.apache.org by ha...@nokia.com on 2009/02/27 11:14:04 UTC

Wicket Link with proxy server: wrong hostname

Hi all,

I have problem when Wicket 1.3.5 application is installed behind proxy server.

Application it showing Index page in url https://www.mycompany.com/pls/myapp/
When clicking link (pointing into same Index page), browser is going to url http://server:7777/pls/myapp/

Any ideas about to solve this? Details listed below.

Best Regards
Harri

======Index.html=====================================================
<html xmlns:wicket="http://wicket.apache.org/">
<body>
   <a wicket:id = "linkIndex">Index</a>
</body>
</html>
======Index.java=====================================================
public class Index extends WebPage {
    public Index() {
        Link linkToAnchor = new Link("linkIndex") {
                public void onClick() {
                    setResponsePage(Index.class);
                }
            };
        add(linkToAnchor);
    }
}
======MyApplication.java=============================================
public class MyApplication extends WebApplication {

    @Override
    public Class getHomePage() {
        return Index.class;
    }
}
======web.xml========================================================
<?xml version = '1.0' encoding = 'windows-1252'?>
<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd" version="2.4" xmlns="http://java.sun.com/xml/ns/j2ee">
    <description>Empty web.xml file for Web Application</description>
    <filter>
        <filter-name>WicketApplication</filter-name>
        <filter-class>org.apache.wicket.protocol.http.WicketFilter</filter-class>
        <init-param>
            <param-name>applicationClassName</param-name>
            <param-value>com.mycompany.app.MyApplication</param-value>
        </init-param>
    </filter>
    <filter-mapping>
        <filter-name>WicketApplication</filter-name>
        <url-pattern>/*</url-pattern>
    </filter-mapping>
    <session-config>
        <session-timeout>35</session-timeout>
    </session-config>
    <mime-mapping>
        <extension>html</extension>
        <mime-type>text/html</mime-type>
    </mime-mapping>
    <mime-mapping>
        <extension>txt</extension>
        <mime-type>text/plain</mime-type>
    </mime-mapping>
</web-app>
===========================================================
My infra stack is:

Alteon SSL Aaccelerator url:
https://www.mycompany.com/pls/myapp/

Apache Proxy url:
http://webserver:80/pls/myapp/
Httpd.conf:
ProxyPass               /pls  http://server:7777/pls/myapp/
ProxyPassReverse        /pls  http://server:7777/pls/myapp/

Oracle Application Server url:
http://server:7777/pls/myapp/




RE: Wicket Link with proxy server: wrong hostname

Posted by ha...@nokia.com.
Hi all,

My problem with wrong hostnames is solved now.
We found two options to solve this.

Option 1) 
Apache proxy httpd.conf change, use app-server name instead of ip address:

   ProxyPass               /pls  http://xxx.xxx.xxx.xxx:7777/pls
   ProxyPassReverse        /pls  http://xxx.xxx.xxx.xxx:7777/pls
=>
   ProxyPass               /pls  http://app-servername:7777/pls
   ProxyPassReverse        /pls  http://app-servername:7777/pls

Option 2)
In Oracle HTTP Server (iAS) httpd.conf, set 
UseCanonicalName Off

Thank for your help!

Best Regards 
Harri

>-----Original Message-----
>From: ext Marcelo Morales [mailto:marcelomorales.name@gmail.com] 
>Sent: 27 February, 2009 22:17
>To: users@wicket.apache.org
>Subject: Re: Wicket Link with proxy server: wrong hostname
>
>Hi
>
>I am not a fan of reverse proxying. I would not vote for it if runs.
>
>If your servlet container supports it, you may try the AJP protocol.
>It works on tomcat at least. AJP is better than just using a 
>http reverse proxy because: a) you get the right client IP 
>address then asking the servlet API, b) isSecure() and 
>getScheme() will work as expected, and c) the container 
>becomes aware of the changed context root.
>
>On Fri, Feb 27, 2009 at 6:14 AM,  <ha...@nokia.com> wrote:
>> Hi all,
>>
>> I have problem when Wicket 1.3.5 application is installed 
>behind proxy server.
>>
>> Application it showing Index page in url 
>> https://www.mycompany.com/pls/myapp/
>> When clicking link (pointing into same Index page), browser is going 
>> to url http://server:7777/pls/myapp/
>>
>> Any ideas about to solve this? Details listed below.
>>
>> Best Regards
>> Harri
>>
>> ======Index.html=====================================================
>> <html xmlns:wicket="http://wicket.apache.org/">
>> <body>
>>   <a wicket:id = "linkIndex">Index</a> </body> </html> 
>> ======Index.java=====================================================
>> public class Index extends WebPage {
>>    public Index() {
>>        Link linkToAnchor = new Link("linkIndex") {
>>                public void onClick() {
>>                    setResponsePage(Index.class);
>>                }
>>            };
>>        add(linkToAnchor);
>>    }
>> }
>> ======MyApplication.java=============================================
>> public class MyApplication extends WebApplication {
>>
>>    @Override
>>    public Class getHomePage() {
>>        return Index.class;
>>    }
>> }
>> ======web.xml========================================================
>> <?xml version = '1.0' encoding = 'windows-1252'?> <web-app 
>> xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
>xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee 
>http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd" version="2.4" 
>xmlns="http://java.sun.com/xml/ns/j2ee">
>>    <description>Empty web.xml file for Web Application</description>
>>    <filter>
>>        <filter-name>WicketApplication</filter-name>
>>        
><filter-class>org.apache.wicket.protocol.http.WicketFilter</fil
>ter-class>
>>        <init-param>
>>            <param-name>applicationClassName</param-name>
>>            <param-value>com.mycompany.app.MyApplication</param-value>
>>        </init-param>
>>    </filter>
>>    <filter-mapping>
>>        <filter-name>WicketApplication</filter-name>
>>        <url-pattern>/*</url-pattern>
>>    </filter-mapping>
>>    <session-config>
>>        <session-timeout>35</session-timeout>
>>    </session-config>
>>    <mime-mapping>
>>        <extension>html</extension>
>>        <mime-type>text/html</mime-type>
>>    </mime-mapping>
>>    <mime-mapping>
>>        <extension>txt</extension>
>>        <mime-type>text/plain</mime-type>
>>    </mime-mapping>
>> </web-app>
>> ===========================================================
>> My infra stack is:
>>
>> Alteon SSL Aaccelerator url:
>> https://www.mycompany.com/pls/myapp/
>>
>> Apache Proxy url:
>> http://webserver:80/pls/myapp/
>> Httpd.conf:
>> ProxyPass               /pls  http://server:7777/pls/myapp/
>> ProxyPassReverse        /pls  http://server:7777/pls/myapp/
>>
>> Oracle Application Server url:
>> http://server:7777/pls/myapp/
>>
>>
>>
>>
>
>
>
>--
>Marcelo Morales
>
>---------------------------------------------------------------------
>To unsubscribe, e-mail: users-unsubscribe@wicket.apache.org
>For additional commands, e-mail: users-help@wicket.apache.org
>
>
---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe@wicket.apache.org
For additional commands, e-mail: users-help@wicket.apache.org


Re: Wicket Link with proxy server: wrong hostname

Posted by Marcelo Morales <ma...@gmail.com>.
Hi

I am not a fan of reverse proxying. I would not vote for it if runs.

If your servlet container supports it, you may try the AJP protocol.
It works on tomcat at least. AJP is better than just using a http
reverse proxy because: a) you get the right client IP address then
asking the servlet API, b) isSecure() and getScheme() will work as
expected, and c) the container becomes aware of the changed context
root.

On Fri, Feb 27, 2009 at 6:14 AM,  <ha...@nokia.com> wrote:
> Hi all,
>
> I have problem when Wicket 1.3.5 application is installed behind proxy server.
>
> Application it showing Index page in url https://www.mycompany.com/pls/myapp/
> When clicking link (pointing into same Index page), browser is going to url http://server:7777/pls/myapp/
>
> Any ideas about to solve this? Details listed below.
>
> Best Regards
> Harri
>
> ======Index.html=====================================================
> <html xmlns:wicket="http://wicket.apache.org/">
> <body>
>   <a wicket:id = "linkIndex">Index</a>
> </body>
> </html>
> ======Index.java=====================================================
> public class Index extends WebPage {
>    public Index() {
>        Link linkToAnchor = new Link("linkIndex") {
>                public void onClick() {
>                    setResponsePage(Index.class);
>                }
>            };
>        add(linkToAnchor);
>    }
> }
> ======MyApplication.java=============================================
> public class MyApplication extends WebApplication {
>
>    @Override
>    public Class getHomePage() {
>        return Index.class;
>    }
> }
> ======web.xml========================================================
> <?xml version = '1.0' encoding = 'windows-1252'?>
> <web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd" version="2.4" xmlns="http://java.sun.com/xml/ns/j2ee">
>    <description>Empty web.xml file for Web Application</description>
>    <filter>
>        <filter-name>WicketApplication</filter-name>
>        <filter-class>org.apache.wicket.protocol.http.WicketFilter</filter-class>
>        <init-param>
>            <param-name>applicationClassName</param-name>
>            <param-value>com.mycompany.app.MyApplication</param-value>
>        </init-param>
>    </filter>
>    <filter-mapping>
>        <filter-name>WicketApplication</filter-name>
>        <url-pattern>/*</url-pattern>
>    </filter-mapping>
>    <session-config>
>        <session-timeout>35</session-timeout>
>    </session-config>
>    <mime-mapping>
>        <extension>html</extension>
>        <mime-type>text/html</mime-type>
>    </mime-mapping>
>    <mime-mapping>
>        <extension>txt</extension>
>        <mime-type>text/plain</mime-type>
>    </mime-mapping>
> </web-app>
> ===========================================================
> My infra stack is:
>
> Alteon SSL Aaccelerator url:
> https://www.mycompany.com/pls/myapp/
>
> Apache Proxy url:
> http://webserver:80/pls/myapp/
> Httpd.conf:
> ProxyPass               /pls  http://server:7777/pls/myapp/
> ProxyPassReverse        /pls  http://server:7777/pls/myapp/
>
> Oracle Application Server url:
> http://server:7777/pls/myapp/
>
>
>
>



-- 
Marcelo Morales

---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe@wicket.apache.org
For additional commands, e-mail: users-help@wicket.apache.org


Re: Wicket Link with proxy server: wrong hostname

Posted by Martin Makundi <ma...@koodaripalvelut.com>.
Try one thing at a time, patience ;)

**
Martin

2009/2/27  <ha...@nokia.com>:
> Hi,
>
> In application I am not generating urls, only setResponsePage(Index.class);
>
> So, you think this is proxy settings problem?
> Hovever, changing these didn't help, they are now pointing into ssl accelerator instead of app server.
> ProxyPass               /pls  http://www.mycompany.com:7777/pls/myapp/
> ProxyPassReverse        /pls  http://www.mycompany.com:7777/pls/myapp/
>
> Anything other I could try?
>
> Br Harri

---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe@wicket.apache.org
For additional commands, e-mail: users-help@wicket.apache.org


RE: Wicket Link with proxy server: wrong hostname

Posted by ha...@nokia.com.
Hi,

In application I am not generating urls, only setResponsePage(Index.class);

So, you think this is proxy settings problem?
Hovever, changing these didn't help, they are now pointing into ssl accelerator instead of app server.
ProxyPass               /pls  http://www.mycompany.com:7777/pls/myapp/
ProxyPassReverse        /pls  http://www.mycompany.com:7777/pls/myapp/

Anything other I could try?

Br Harri

>-----Original Message-----
>From: ext nino martinez wael [mailto:nino.martinez.wael@gmail.com]
>Sent: 27 February, 2009 12:51
>To: users@wicket.apache.org
>Subject: Re: Wicket Link with proxy server: wrong hostname
>
>Works for me too, I also posted some Apache configs to this
>list some time ago.. So search the forum, you can use nabble
>
>2009/2/27 Martin Makundi <ma...@koodaripalvelut.com>
>
>> Hi!
>>
>> If you generate the url in your app, it will see the
>proxyPass address:
>>
>> > ProxyPass               /pls  http://server:7777/pls/myapp/
>> > ProxyPassReverse        /pls  http://server:7777/pls/myapp/
>>
>> You could change this into:
>> ProxyPass               /pls
>http://www.mycompany.com:7777/pls/myapp/
>> ProxyPassReverse        /pls
>http://www.mycompany.com:7777/pls/myapp/
>>
>> Works for us.
>>
>> **
>> Martin
>>
>> 2009/2/27  <ha...@nokia.com>:
>> > Hi all,
>> >
>> > I have problem when Wicket 1.3.5 application is installed behind
>> > proxy
>> server.
>> >
>> > Application it showing Index page in url
>> https://www.mycompany.com/pls/myapp/
>> > When clicking link (pointing into same Index page),
>browser is going
>> > to
>> url http://server:7777/pls/myapp/
>> >
>> > Any ideas about to solve this? Details listed below.
>> >
>> > Best Regards
>> > Harri
>> >
>> >
>======Index.html====================================================
>> > = <html xmlns:wicket="http://wicket.apache.org/">
>> > <body>
>> >   <a wicket:id = "linkIndex">Index</a> </body> </html>
>> >
>======Index.java====================================================
>> > = public class Index extends WebPage {
>> >    public Index() {
>> >        Link linkToAnchor = new Link("linkIndex") {
>> >                public void onClick() {
>> >                    setResponsePage(Index.class);
>> >                }
>> >            };
>> >        add(linkToAnchor);
>> >    }
>> > }
>> >
>======MyApplication.java============================================
>> > = public class MyApplication extends WebApplication {
>> >
>> >    @Override
>> >    public Class getHomePage() {
>> >        return Index.class;
>> >    }
>> > }
>> >
>======web.xml=======================================================
>> > = <?xml version = '1.0' encoding = 'windows-1252'?> <web-app
>> > xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
>> xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee
>> http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd"
>version="2.4" xmlns="
>> http://java.sun.com/xml/ns/j2ee">
>> >    <description>Empty web.xml file for Web
>Application</description>
>> >    <filter>
>> >        <filter-name>WicketApplication</filter-name>
>> >
>>
>>
><filter-class>org.apache.wicket.protocol.http.WicketFilter</filter-cla
>> ss>
>> >        <init-param>
>> >            <param-name>applicationClassName</param-name>
>> >
><param-value>com.mycompany.app.MyApplication</param-value>
>> >        </init-param>
>> >    </filter>
>> >    <filter-mapping>
>> >        <filter-name>WicketApplication</filter-name>
>> >        <url-pattern>/*</url-pattern>
>> >    </filter-mapping>
>> >    <session-config>
>> >        <session-timeout>35</session-timeout>
>> >    </session-config>
>> >    <mime-mapping>
>> >        <extension>html</extension>
>> >        <mime-type>text/html</mime-type>
>> >    </mime-mapping>
>> >    <mime-mapping>
>> >        <extension>txt</extension>
>> >        <mime-type>text/plain</mime-type>
>> >    </mime-mapping>
>> > </web-app>
>> > ===========================================================
>> > My infra stack is:
>> >
>> > Alteon SSL Aaccelerator url:
>> > https://www.mycompany.com/pls/myapp/
>> >
>> > Apache Proxy url:
>> > http://webserver:80/pls/myapp/
>> > Httpd.conf:
>> > ProxyPass               /pls  http://server:7777/pls/myapp/
>> > ProxyPassReverse        /pls  http://server:7777/pls/myapp/
>> >
>> > Oracle Application Server url:
>> > http://server:7777/pls/myapp/
>> >
>> >
>> >
>> >
>>
>> ---------------------------------------------------------------------
>> To unsubscribe, e-mail: users-unsubscribe@wicket.apache.org
>> For additional commands, e-mail: users-help@wicket.apache.org
>>
>>
>

---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe@wicket.apache.org
For additional commands, e-mail: users-help@wicket.apache.org


Re: Wicket Link with proxy server: wrong hostname

Posted by nino martinez wael <ni...@gmail.com>.
Works for me too, I also posted some Apache configs to this list some time
ago.. So search the forum, you can use nabble

2009/2/27 Martin Makundi <ma...@koodaripalvelut.com>

> Hi!
>
> If you generate the url in your app, it will see the proxyPass address:
>
> > ProxyPass               /pls  http://server:7777/pls/myapp/
> > ProxyPassReverse        /pls  http://server:7777/pls/myapp/
>
> You could change this into:
> ProxyPass               /pls  http://www.mycompany.com:7777/pls/myapp/
> ProxyPassReverse        /pls  http://www.mycompany.com:7777/pls/myapp/
>
> Works for us.
>
> **
> Martin
>
> 2009/2/27  <ha...@nokia.com>:
> > Hi all,
> >
> > I have problem when Wicket 1.3.5 application is installed behind proxy
> server.
> >
> > Application it showing Index page in url
> https://www.mycompany.com/pls/myapp/
> > When clicking link (pointing into same Index page), browser is going to
> url http://server:7777/pls/myapp/
> >
> > Any ideas about to solve this? Details listed below.
> >
> > Best Regards
> > Harri
> >
> > ======Index.html=====================================================
> > <html xmlns:wicket="http://wicket.apache.org/">
> > <body>
> >   <a wicket:id = "linkIndex">Index</a>
> > </body>
> > </html>
> > ======Index.java=====================================================
> > public class Index extends WebPage {
> >    public Index() {
> >        Link linkToAnchor = new Link("linkIndex") {
> >                public void onClick() {
> >                    setResponsePage(Index.class);
> >                }
> >            };
> >        add(linkToAnchor);
> >    }
> > }
> > ======MyApplication.java=============================================
> > public class MyApplication extends WebApplication {
> >
> >    @Override
> >    public Class getHomePage() {
> >        return Index.class;
> >    }
> > }
> > ======web.xml========================================================
> > <?xml version = '1.0' encoding = 'windows-1252'?>
> > <web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
> xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee
> http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd" version="2.4" xmlns="
> http://java.sun.com/xml/ns/j2ee">
> >    <description>Empty web.xml file for Web Application</description>
> >    <filter>
> >        <filter-name>WicketApplication</filter-name>
> >
>  <filter-class>org.apache.wicket.protocol.http.WicketFilter</filter-class>
> >        <init-param>
> >            <param-name>applicationClassName</param-name>
> >            <param-value>com.mycompany.app.MyApplication</param-value>
> >        </init-param>
> >    </filter>
> >    <filter-mapping>
> >        <filter-name>WicketApplication</filter-name>
> >        <url-pattern>/*</url-pattern>
> >    </filter-mapping>
> >    <session-config>
> >        <session-timeout>35</session-timeout>
> >    </session-config>
> >    <mime-mapping>
> >        <extension>html</extension>
> >        <mime-type>text/html</mime-type>
> >    </mime-mapping>
> >    <mime-mapping>
> >        <extension>txt</extension>
> >        <mime-type>text/plain</mime-type>
> >    </mime-mapping>
> > </web-app>
> > ===========================================================
> > My infra stack is:
> >
> > Alteon SSL Aaccelerator url:
> > https://www.mycompany.com/pls/myapp/
> >
> > Apache Proxy url:
> > http://webserver:80/pls/myapp/
> > Httpd.conf:
> > ProxyPass               /pls  http://server:7777/pls/myapp/
> > ProxyPassReverse        /pls  http://server:7777/pls/myapp/
> >
> > Oracle Application Server url:
> > http://server:7777/pls/myapp/
> >
> >
> >
> >
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: users-unsubscribe@wicket.apache.org
> For additional commands, e-mail: users-help@wicket.apache.org
>
>

Re: Wicket Link with proxy server: wrong hostname

Posted by Martin Makundi <ma...@koodaripalvelut.com>.
Hi!

If you generate the url in your app, it will see the proxyPass address:

> ProxyPass               /pls  http://server:7777/pls/myapp/
> ProxyPassReverse        /pls  http://server:7777/pls/myapp/

You could change this into:
ProxyPass               /pls  http://www.mycompany.com:7777/pls/myapp/
ProxyPassReverse        /pls  http://www.mycompany.com:7777/pls/myapp/

Works for us.

**
Martin

2009/2/27  <ha...@nokia.com>:
> Hi all,
>
> I have problem when Wicket 1.3.5 application is installed behind proxy server.
>
> Application it showing Index page in url https://www.mycompany.com/pls/myapp/
> When clicking link (pointing into same Index page), browser is going to url http://server:7777/pls/myapp/
>
> Any ideas about to solve this? Details listed below.
>
> Best Regards
> Harri
>
> ======Index.html=====================================================
> <html xmlns:wicket="http://wicket.apache.org/">
> <body>
>   <a wicket:id = "linkIndex">Index</a>
> </body>
> </html>
> ======Index.java=====================================================
> public class Index extends WebPage {
>    public Index() {
>        Link linkToAnchor = new Link("linkIndex") {
>                public void onClick() {
>                    setResponsePage(Index.class);
>                }
>            };
>        add(linkToAnchor);
>    }
> }
> ======MyApplication.java=============================================
> public class MyApplication extends WebApplication {
>
>    @Override
>    public Class getHomePage() {
>        return Index.class;
>    }
> }
> ======web.xml========================================================
> <?xml version = '1.0' encoding = 'windows-1252'?>
> <web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd" version="2.4" xmlns="http://java.sun.com/xml/ns/j2ee">
>    <description>Empty web.xml file for Web Application</description>
>    <filter>
>        <filter-name>WicketApplication</filter-name>
>        <filter-class>org.apache.wicket.protocol.http.WicketFilter</filter-class>
>        <init-param>
>            <param-name>applicationClassName</param-name>
>            <param-value>com.mycompany.app.MyApplication</param-value>
>        </init-param>
>    </filter>
>    <filter-mapping>
>        <filter-name>WicketApplication</filter-name>
>        <url-pattern>/*</url-pattern>
>    </filter-mapping>
>    <session-config>
>        <session-timeout>35</session-timeout>
>    </session-config>
>    <mime-mapping>
>        <extension>html</extension>
>        <mime-type>text/html</mime-type>
>    </mime-mapping>
>    <mime-mapping>
>        <extension>txt</extension>
>        <mime-type>text/plain</mime-type>
>    </mime-mapping>
> </web-app>
> ===========================================================
> My infra stack is:
>
> Alteon SSL Aaccelerator url:
> https://www.mycompany.com/pls/myapp/
>
> Apache Proxy url:
> http://webserver:80/pls/myapp/
> Httpd.conf:
> ProxyPass               /pls  http://server:7777/pls/myapp/
> ProxyPassReverse        /pls  http://server:7777/pls/myapp/
>
> Oracle Application Server url:
> http://server:7777/pls/myapp/
>
>
>
>

---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe@wicket.apache.org
For additional commands, e-mail: users-help@wicket.apache.org