Прокси-сервер кэширования NGINX выходит из строя с SSL23_GET_SERVER_HELLO: сбой вызова подтверждения sslv3
NGINX, действующий как прокси-сервер кэширования, сталкивается с проблемами при получении контента с сервера CloudFront через HTTPS:
Это выдержка из журнала ошибок NGINX:
2014/08/14 16:08:26 [ошибка] 27534 # 0: * 11560993 SSL_do_handshake() не удалось (SSL: ошибка: 14077410: SSL-процедуры: SSL23_GET_SERVER_HELLO: sslv3 отказ от подтверждения связи), в то время как SSL-квитирование вверх, клиент: 82.33.49.135, server: localhost, request: "GET/static/images/media-logos/best.png HTTP/1.1", upstream: "https://x.x.x.x:443/static/images/media-logos/best.png",
Я пробовал разные настройки прокси-сервера, такие как proxy_ssl_protocols и proxy_ssl_ciphers, но никакая комбинация не работала.
Любые идеи?
Ответы
Ответ 1
У меня была точно такая же проблема, и я потратил пару часов...
Думаю, вы используете более старую версию nginx (ниже 1.7)?
В nginx 1.7 вы можете использовать эту директиву:
proxy_ssl_server_name on;
Это заставит nginx использовать SNI
Кроме того, вы должны установить протоколы SSL:
proxy_ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
Для более ранних версий вы можете использовать этот патч (но я не могу проверить, что это работает):
http://trac.nginx.org/nginx/ticket/229