web-dev-qa-db-ja.com

NGINXキャッシングプロキシがSSL23_GET_SERVER_HELLO:sslv3アラートハンドシェイクエラーで失敗する

キャッシュプロキシとして機能するNGINXは、HTTPS経由でCloudFrontサーバーからコンテンツをフェッチするときに問題が発生します。

これは、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、サーバー:localhost、リクエスト: "GET /static/images/media-logos/best.png HTTP/1.1"、アップストリーム: " https:// xxxx:443/static/images/media-logos/best.png "、

Proxy_ssl_protocolsやproxy_ssl_ciphersなどの別のプロキシ設定を試しましたが、組み合わせが機能しませんでした。

何か案は?

33
Mohammad Haque

私はまったく同じ問題を抱えており、数時間を費やしました... 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

71