自从几个星期以来,我的networking服务器Niginx在TLS协议1.1和1.2版本中遇到了问题:
当用户尝试连接到我的网站时,Web浏览器和Nginx 仅selectTLS 1.0作为连接。
在Nginx的虚拟主机conf文件中,我提到要使用TLS 1.0,1.1和1.2:
ssl_protocols TLSv1 TLSv1.1 TLSv1.2; ssl_ciphers AES256-SHA256:AES256-SHA; ssl_prefer_server_ciphers on;
nginx版本:nginx / 1.4.2启用了TLS SNI支持的configuration参数:–prefix = / etc / nginx –sbin -path = / usr / sbin / nginx –conf -path = /etc/nginx/nginx.conf – -error-log-path = / var / log / nginx / error.log –http-log-path = / var / log / nginx / access.log –pid-path = / var / run / nginx.pid – -lock-path = / var / run / nginx.lock –http-client-body-temp-path = / var / cache / nginx / client_temp –http-proxy-temp-path = / var / cache / nginx / proxy_temp –http-fastcgi-temp-path = / var / cache / nginx / fastcgi_temp –http-uwsgi-temp-path = / var / cache / nginx / uwsgi_temp –http -script -temp path = / var / cache / nginx / scgi_temp –user = nginx –group = nginx –with-http_ssl_module –with-http_realip_module –with-http_addition_module –with-http_sub_module –with-http_dav_module –with-http_flv_module –with-http_mp4_module –with-http_gunzip_module –with-http_gzip_static_module –with-http_random_index_module –with-http_secure_link_module –with-http_stub_status_module –with-mail –with-mail_ssl_module –with-file-aio –with-cc-opt = '-g -O2 -Wp,-D_FORTIFY_S OURCE = 2'–with-ld-opt = –with-ipv6
- 在centos中是否有debian-sys-maint等价物?
- 使用LVM和MD RAID 5的KVM中的磁盘I / O速度较慢
- Debian Preseed使用整个LVM物理卷设备
- I / O错误,但没有智能或ZFS错误
- debconf忽略了我的默认启动器
OpenSSL 1.0.1e 2013年2月11日
Linux发行版:Debian 7.1 x64
Qualys SSL实验室结果
TLS 1.2 No
TLS 1.1 No
TLS 1.0是的
SSL 3号
SSL 2号
我的错误是什么?
谢谢
哈福林格马
不用搞乱你的系统随附的openssl版本,你可以尝试用自定义的openssl版本来构buildnginx。 构buildnginx包时指定以下选项。 我用我的自定义rpm和最新的openssl版本来做到这一点。
--with-openssl=/home/mschirrmeister/openssl-1.0.1f
一旦像这样构build,只安装在您的服务器上的nginx包,并再次尝试ssllabstesting。 它现在应该显示对更多版本的支持。
对不起,我的英语不好。 我有同样的情况,花了我很多时间来找出.nginx读取的第一个ssl_protocol关键字支配nginx conf中的所有服务器的ssl协议。
更改所有服务器configuration的“ssl_protocol”值(实际上只是第一个就可以)包含值“TLSv1.2”可能工作。
openssl 1.0.1e没问题。 但是你的操作系统可能有两个版本的libssl(我的版本是0.9.8和1.0.1e)。 所以你的nginx可能链接到libssl 0.9.8。
尝试使用指定的最新版本的openssl源代码编译nginx。
我认为你必须使用
ssl_protocols TLSv1.2 TLSv1.1 TLSv1;
不
ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
这里是我通常用于nginx的SSLconfiguration:
ssl on; ssl_certificate /etc/nginx/ssl/<domain>/server.crt; ssl_certificate_key /etc/nginx/ssl/<domain>/server.key; ssl_protocols TLSv1 TLSv1.1 TLSv1.2; ssl_prefer_server_ciphers on; ssl_ciphers "EECDH+ECDSA+AESGCM EECDH+aRSA+AESGCM EECDH+ECDSA+SHA384 EECDH+ECDSA+SHA256 EECDH+aRSA+SHA384 EECDH+aRSA+SHA256 EECDH+aRSA+RC4 EECDH EDH+aRSA RC4 !aNULL !eNULL !LOW !3DES !MD5 !EXP !PSK !SRP !DSS !RC4"; ssl_session_cache shared:SSL:10m; ssl_session_timeout 10m; add_header Strict-Transport-Security "max-age=31536000; includeSubdomains;";
这是工作configurationprod服务器,请尝试:
ssl_session_timeout 10m; ssl_ciphers RC4:HIGH:!aNULL:!MD5:!kEDH; ssl_session_cache shared:SSL:10m; ssl_prefer_server_ciphers on;
然后重新运行Qualys SSL。