Änderung der URL der HTTP-Verbindungs-Subdomain
-
27-10-2019 - |
Frage
HTTP-Verbindungs-Subdomain
Ich möchte meine Wickets 1.5-Anwendung mit HTTPS einrichten.
Ich habe meiner Anwendungsklasse Folgendes hinzugefügt:
setRootRequestMapper(new HttpsMapper(getRootRequestMapper(), new HttpsConfig(8080, 8443)));
mountPage("/go/securepage", securePage.class);
Da ich die SecurePage.class mit "@RequireHttps"
kommentiert habe, lädt der Link die Seite korrekt mit HTTPS.
Ich möchte jedoch alle https-Verbindungen an eine separate Subdomain weiterleiten.
Also anstatt zu zu gehen
https://www.example.com/go/securepage
, an den der Benutzer weitergeleitet wird
https://securepage.example.com/go/securepage
Wie kann das gemacht werden?
Lösung
Ich musste das nie tun, sondern habe mir die Quellen von HttpsMapper
Es scheint, dass Sie dies tun können, indem Sie 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;
}