Добрый день,
Есть nginx и бэкэнд в виде apache tomcat. Под томкатом работает SSO (single
sign on) приложение (оно коммерческое и изменить его поведение не
представляется возможным).
Нужно чтобы вся работа с этим приложением велась через nginx+SSL.
Поддержка SSL на уровне nginx работает отлично. Но вот бэкэнд при первом заходе
пользователя на https://test.ru/ отдаёт:
HTTP/1.1 200 OK
Server: nginx/0.7.55
Date: Fri, 12 Jun 2009 07:16:06 GMT
Content-Type: text/html
Connection: keep-alive
Keep-Alive: timeout=240
ETag: xxxxxxxxxxxxxx
Last-Modified: Thu, 16 Apr 2009 16:14:40 GMT
Content-Length: 234
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN"
"http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="refresh" content="0;url=http://test.ru/test/">
</head>
<body>
</body>
</html>
И браузер следует по незащищённой ссылке.
Соответственно, proxy_redirect не работает. Сделать хак через
ngx_http_sub_module не получилось.
Подскажите, как сделать так, чтобы всегда использовался https независимо от
того, что отдаёт бэкэнд?
К сожалению сделать так, чтобы бэкэнд тоже работал с поддержкой SSL в моём
случае невозможно.