При запросе URL-адреса CDN Sparkfun с использованием OpenSSL с помощью следующей команды:
openssl s_client -showcerts -connect dlnmh9ip6v2uc.cloudfront.net:443
Общее имя, возвращаемое в сертификате *.sparkfun.com
, не проверяется, но если вы загружаете хост в Chrome, отображается общее имя:*.cloudfront.net
Что здесь происходит?
Это вызывает проблему, потому что среда, в которой я нахожусь в прокси SSL через Squid SSL_Bump, генерирует сертификат, подписанный моим локально доверенным центром сертификации для домена. Это работает для всех доменов, но выше, так как CN не совпадает, поскольку новый сертификат генерируется с использованием OpenSSL.
РЕДАКТИРОВАТЬ - я убедился, что то же самое происходит с OpenSSL на сервере в удаленном центре обработки данных, который имеет прямое подключение к Интернету без прокси или фильтрации.
РЕДАКТИРОВАТЬ - Проблема связана с SNI, как принято, но для заполнения информации о том, почему это вызывает проблемы с Squid и SSL_Bump:
Этот проект не будет поддерживать пересылку информации с указанием имени сервера SSL (SNI) на исходный сервер и сделает такую поддержку немного более сложной. Однако у пересылки SNI есть свои серьезные проблемы (выходящие за рамки этого документа), которые намного перевешивают дополнительные трудности пересылки.
Взято из: http://wiki.squid-cache.org/Features/BumpSslServerFirst
источник
Chrome поддерживает SNI , сообщая серверу, какой сертификат отправлять. Команда
s_client
не делает.Там больше деталей использования CloudFront о SNI здесь .
и:
источник
s_client
что не поддерживает CLI. Я сказал, чтоs_client
команда (в ОП) нет.