HTTPS 接続サブドメイン URL の変更
-
27-10-2019 - |
質問
HTTPS接続サブドメイン
HTTPS を使用して Wickets 1.5 アプリケーションをセットアップしようとしています。
以下をアプリケーションクラスに追加しました。
setRootRequestMapper(new HttpsMapper(getRootRequestMapper(), new HttpsConfig(8080, 8443)));
mountPage("/go/securepage", securePage.class);
securePage.classに注釈を付けたので、 "@RequireHttps"
リンクは HTTPS を使用してページを正しくロードします。
ただし、すべての https 接続を別のサブドメインに転送したいと考えています。
だから、行く代わりに
https://www.example.com/go/securepage
ユーザーはに転送されますhttps://securepage.example.com/go/securepage
これはどうすればできるのでしょうか?
解決
これを行う必要はありませんでしたが、ソースを見ると、 HttpsMapper
オーバーライドすることでこれを行うことができるようです 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;
}
したがって、次のようにオーバーライドできます。
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;
}
});
所属していません StackOverflow