#asp.net #ssl #http-headers #tls1.2
#asp.net #ssl #http-заголовки #tls1.2
Вопрос:
У меня есть веб-сайт, на котором некоторые люди, использующие старые компьютеры или браузеры, не могут установить соединение с нашими защищенными частями сайта.
Что я хочу сделать, так это зафиксировать ошибку подключения и перенаправить их на экран, объясняющий, почему это происходит, и отсылающий их к некоторым ресурсам, которые могут помочь.
Практически в каждом случае, с которым мы сталкивались, комбинация браузера / операционной системы не совместима с TLS 1.1 и / или 1.2, поэтому сервер отказывает им.
Существует ли конкретный код ответа HTTP, для которого я должен перехватывать? Я думал, что это может быть 502, но, похоже, это не улавливается.
Или это даже не доходит до этой точки?
Когда мы видим это в Safari, предварительная версия 7, сообщение выглядит примерно так:
Safari не удается установить безопасное соединение
Если коды ошибок HTTP не подходят, есть ли хороший способ перехватить это? Я использую asp.net для управления нашим веб-сайтом.
РЕДАКТИРОВАТЬ: кто-нибудь знает последовательность, в которой сервер и браузер проходят в этой ситуации? Я думаю, что выяснить, где вмешаться / перехватить, — это полдела для меня. Это редактирование было более сложным, поскольку у меня пока нет ответов.
Ответ №1:
TLS управляется вашим веб-сервером, а не ASP.NET , так что вы никак не сможете перехватить сбой TLS-соединения внутри вашего ASP.NET код.
Что вы могли бы сделать, так это установить прокси-сервер перед вашим веб-сайтом, который будет принимать входящие соединения с TLS <1.2 и немедленно отвечать клиенту страницей с ошибкой. Он передаст все допустимые соединения с правильной версией TLS на веб-сервер.
Комментарии:
1. @PoloHoleSet я не знаю, не эксперт, но маловероятно.