ssl_prefer_server_ciphers vs. Android
Matthias Rieber
ml-nginx at zu-con.org
Thu May 1 09:02:53 UTC 2014
Hi,
I've configured ssl with the following options:
ssl_dhparam /etc/nginx/pem/dhparam2048.pem;
ssl_protocols SSLv3 TLSv1 TLSv1.1 TLSv1.2;
ssl_ciphers
'ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-AES256-GCM-SHA384:DHE-RSA-AES128-GCM-SHA256:DHE-DSS-AES128-GCM-SHA256:kEDH+AESGCM:ECDHE-RSA-AES128-SHA256:ECDHE-ECDSA-AES128-SHA256:ECDHE-RSA-AES128-SHA:ECDHE-ECDSA-AES128-SHA:ECDHE-RSA-AES256-SHA384:ECDHE-ECDSA-AES256-SHA384:ECDHE-RSA-AES256-SHA:ECDHE-ECDSA-AES256-SHA:DHE-RSA-AES128-SHA256:DHE-RSA-AES128-SHA:DHE-DSS-AES128-SHA256:DHE-RSA-AES256-SHA256:DHE-DSS-AES256-SHA:DHE-RSA-AES256-SHA:AES128-GCM-SHA256:AES256-GCM-SHA384:ECDHE-RSA-RC4-SHA:ECDHE-ECDSA-RC4-SHA:AES128:AES256:RC4-SHA:HIGH:!aNULL:!eNULL:!EXPORT:!DES:!3DES:!MD5:!PSK';
ssl_prefer_server_ciphers on;
more_set_headers "Strict-Transport-Security: max-age=31536000";
spdy_headers_comp 3;
While ssl_prefer_server_ciphers usually works I've noticed some strange
behaviour with Android. Firefox Sync uses with this settings "TLSv1
RC4-SHA". When I remove all RC4 ciphers from that list, it chooses "TLSv1
DHE-RSA-AES128-SHA". I'm wondering why it chooses RC4-SHA instead of
DHE-RSA-AES128-SHA since it should have a higher priority.
Matthias
More information about the nginx
mailing list