私のアプリケーションは、ロードバランサの背後にあるEC2で動作しています。 www.example.comと* .example.comにhttps証明書があります。サブドメインのhttps証明書の問題
アプリケーションはhttpで実行されていますが、httpsはロードバランサで設定されています。
私は会社に基づいて私のアプリケーションでサブドメインのサポートを追加しました。
のように、XYZ社のhttps://XYZ.example.comと同様です。
私はhttps://XYZ.example.comを使用してアクセスすると、正常に動作します。
私はwww.arun.contactcentral.ioの所有者が不適切に自分のウェブサイトを設定した。盗まれてからあなたの情報を保護するために」、ブラウザは次のように警告し、
をhttps://www.XYZ.example.comを使用してアクセスする場合、Firefoxはこれに接続されていませんウェブサイト。
しかし、私がhttps://www.example.comにアクセスすると、正常に動作します。
* .example.comの認証を取得していますが、www.XYZ.example.comにアクセスしても動作しません。
私はhttpからhttpsの方向を扱うフィルタを持っていますが、それでもURLからWWWをフィルタリングしていません。
public class HttpsFilter implements Filter {
private static final String HTTP = "http";
private static final String HTTPS = "https";
private static final String X_FORWARDED_PROTO = "X-Forwarded-Proto";
@Override
public void doFilter(final ServletRequest req, final ServletResponse res, final FilterChain chain) throws IOException, ServletException {
HttpServletRequest request = (HttpServletRequest)req;
HttpServletResponse httpResponse = (HttpServletResponse) res;
String xfp = request.getHeader(X_FORWARDED_PROTO);
if (HTTPS.equals(xfp)) {
//httpResponse.setHeader("Strict-Transport-Security", "max-age=60");
chain.doFilter(req, res);
return;
}
else if (HTTP.equals(xfp)) {
String serverUrl = HTTPS+"://"+req.getServerName()+((HttpServletRequest)req).getServletPath();
httpResponse.sendRedirect(serverUrl);
return;
}
}
}
おかげで、 Baskar.S
私は2つの証明書を持つことができます。しかし、www。*。example.comは許可されていません。どうすればこれを達成できますか?私のサブドメインは会社に基づいています。 – user1578872
できません。それは受け入れられた標準によってサポートされていません。 *に一致する各サブドメインには、 'www'を前に付ける場合は独自の証明書が必要です。 –
(複数のサブドメインを同じ証明書に含めることはできますが、明示的に名前を付ける必要があります。動的に行うことはできません) –