Hello Hannes,

did you try to set the request's resourceRef, for example by using a filter?
For example, the client hits "http://localhost:8182/test?querypart";, but
the application is routed on "http://localhost:8182/app/test";
The filter leverages the remaining part of the request's reference, which
is updated by each router that the request meets before hitting the target
resource.

@Override
public Restlet createInboundRoot() {
    final Router router = new Router(getContext());
    router.setDefaultMatchingMode(Template.MODE_STARTS_WITH);
    router.attach("/app/test", TestResource.class);

    Filter filter = new Filter(getContext(), router) {
        @Override
        protected int beforeHandle(Request request, Response response) {
            Reference ref = request.getResourceRef();
            ref.setIdentifier("http://localhost/app"; +
ref.getRemainingPart());
            ref.setBaseRef("http://localhost";);
            return super.beforeHandle(request, response);
        }
   };
   return filter;
}


I'm not sure it solves exactly your problem, but it can gives you some
ideas.

Best regards,
Thierry Boileau





2013/12/6 Hannes Ebner <[email protected]>

> Hi,
>
> I have a Restlet application running in Tomcat, proxied through Apache.
> Only Apache can be reached from the outside.
>
> Internally I'm using the OpenID extension to perform authentication, which
> causes problems in the given reverse proxy setting. The OpenID extension
> asks Restlet for the base URL to set the realm, and Restlet of course only
> knows its URL via Tomcat, which in turn does not know that it is being
> proxied.
> This means that the application is reached from the outside via
> https://base/app, but Restlet and OpenID think that it is
> http://base:8080/something which does not work with all the necessary
> redirects in the OpenID flow.
>
> I tried really hard to find a way of telling Restlet (and the OpenID
> extension) to use a base URL that is different from the one that Tomcat
> reports, but still, I ended up asking for help on this list.
>
> Can the base URL be manually set somehow?
>
> Best regards,
> Hannes
>

------------------------------------------------------
http://restlet.tigris.org/ds/viewMessage.do?dsForumId=4447&dsMessageId=3069986

Reply via email to