Если вы находитесь за балансировщиком нагрузки, таким как Apache Httpd с mod_proxy (в обратном режиме), SSL-соединение будет между браузером и балансировщиком нагрузки (как сказал «erickson»). Вы действительно можете проверить login-config в своем файле web.xml (чтобы проверить, используете ли вы CLIENT-CERT).
Другая проблема, с которой вы можете столкнуться, это элемент transport-guarantee
в web.xml:
<security-constraint>
<user-data-constraint>
<transport-guarantee>CONFIDENTIAL</transport-guarantee>
</user-data-constraint>
</security-constraint>
Похоже, есть способ форсировать это с помощью специального клапана, если вы уверены, что вы надежно балансируете нагрузку. Вот статья на эту тему (перевод с французского) .
Наиболее вероятной причиной смешанного контента является загрузка изображений, которые не размещены на SSL. Вы можете обнаружить, что где-то в шаблоне есть логотип компании, жестко закодированный с помощью http://
, или, возможно, некоторые заголовки Location
возвращают URL http://
.
Последнее можно исправить с помощью такой конфигурации, как этот Apache Httpd (при условии, что это ваш балансировщик нагрузки), где вам нужно заменить его на правильный адрес, конечно:
Header edit Location ^http://www.example.com/test/ https://www.example.com/test/
Многие сайты (даже от крупных компаний) смешивают контент. Это на самом деле плохо, потому что:
- Пользователь не может точно знать, какие части страницы безопасны, а какие нет, не просматривая все запросы и, возможно, источник страницы.
- Некоторые файлы cookie и информация просачиваются из HTTPS-запроса в простой HTTP-запрос. Если кто-то перехватит этот файл cookie по обычному HTTP, он может использовать его как HTTPS в качестве самозванца. (В частности, когда используются файлы cookie без флага безопасности.)