У меня есть приложение, работающее на EC2 за балансиром нагрузки. Получили сертификат https для www.example.com и * .example.com.Проблема с сертификатом https с субдоменом
Приложение работает на http, но https настроен в балансировщике нагрузки.
Я добавил поддержку поддоменов в своем приложении на основе компании.
Нравится, https://XYZ.example.com для компании XYZ.
Если я получу доступ, используя https://XYZ.example.com, его рабочий штраф.
Если я получить доступ с помощью, https://www.XYZ.example.com, браузер предупреждает, как,
«Владелец www.arun.contactcentral.io настроил свой веб-сайт неправильно. Для того, чтобы защитить вашу информацию от кражи, Firefox не подключен к этому Веб-сайт."
Но, если я получаю доступ к https://www.example.com, он отлично работает.
Хотя, у меня есть сертификация для * .example.com, он даже не работает даже на www.XYZ.example.com.
У меня есть фильтр для обработки http до https-направления, но все же он не фильтрует WWW с URL-адреса.
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» впереди. –
(Вы можете иметь несколько поддоменов в одном и том же сертификате, но их нужно явно указывать. Это невозможно сделать динамически). –