Question

Https Connexion sous-domaine

Je cherche à mettre en place mes portillons 1.5 application avec le protocole HTTPS.

J'ai ajouté ce qui suit à ma classe d'application.

setRootRequestMapper(new HttpsMapper(getRootRequestMapper(), new HttpsConfig(8080, 8443)));
mountPage("/go/securepage", securePage.class);

Comme je l'ai annoté le securePage.class avec "@RequireHttps" le lien charge correctement la page avec le protocole HTTPS.

Cependant, je veux transmettre toutes les connexions https à un sous-domaine séparé.

Ainsi, au lieu d'aller à

https://www.example.com/go/securepage l'utilisateur est transmis à https://securepage.example.com/go/securepage

Comment cela peut-il être fait?

Était-ce utile?

La solution

Je ne l'ai jamais besoin de faire cela, mais en regardant les sources de HttpsMapper il semble que vous nous en mesure de le faire en remplaçant HttpsMapper.mapHandler() .

public Url mapHandler(IRequestHandler requestHandler) {
        Url url = delegate.mapHandler(requestHandler);
        switch (checker.getProtocol(requestHandler)){
            case HTTP :
                url.setProtocol("http");
                url.setPort(httpsConfig.getHttpPort());
                break;
            case HTTPS :
                url.setProtocol("https");
                url.setPort(httpsConfig.getHttpsPort());
                break;
        }
        return url;
    }

Ainsi, vous pouvez la remplacer comme ceci:

setRootRequestMapper(new HttpsMapper(getRootRequestMapper(), new HttpsConfig(8080, 8443)){
    @Override
    public Url mapHandler(IRequestHandler requestHandler) {
        Url url = super.mapHandler(requestHandler);
        if ("https".equals(url.getProtocol)){
            // Force the HostName for HTTPS requests
            url.setHost("securepage.example.com");   
        }
        return url;
    }
});
Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top