linux – 在Nginx上的SSL握手协商非常慢

linux – 在Nginx上的SSL握手协商非常慢,第1张

概述我使用Nginx作为4个apache实例的代理.我的问题是SSL协商需要花费很多时间(600毫秒).以此为例: http://www.webpagetest.org/result/101020_8JXS/1/details/ 这是我的Nginx Conf: user www-data;worker_processes 4;events { worker_connections 2 我使用Nginx作为4个apache实例的代理.我的问题是SSL协商需要花费很多时间(600毫秒).以此为例: http://www.webpagetest.org/result/101020_8JXS/1/details/

这是我的Nginx Conf:

user www-data;worker_processes  4;events {    worker_connections 2048;    use epoll;}http {    include       /etc/Nginx/mime.types;    default_type  application/octet-stream;    access_log  /var/log/Nginx/access.log;    sendfile        on;    keepalive_timeout  0;    tcp_nodelay        on;    gzip  on;    gzip_proxIEd any;    server_names_hash_bucket_size 128;}upstream abc {     server 1.1.1.1 weight=1;     server 1.1.1.2 weight=1;     server 1.1.1.3 weight=1; }server {    Listen   443;    server_name  blah;    keepalive_timeout 5;    ssl  on;    ssl_certificate  /blah.crt;    ssl_certificate_key  /blah.key;    ssl_session_cache  shared:SSL:10m;    ssl_session_timeout  5m;    ssl_protocols  SSLv2 SSLv3 TLSv1;    ssl_ciphers RC4+RSA:+HIGH:+MEDIUM:+LOW:+SSLv2:+EXP;    ssl_prefer_server_ciphers   on;    location / { proxy_pass http://abc;                 proxy_set_header X-Real-IP  $remote_addr;                 proxy_set_header Host $host;                 proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;    }}

该机器是linode上的VPS,具有1 G的RAM.任何人都可以告诉为什么SSL握手需要多长时间?

解决方法 你需要禁用“ephemeral diffIE-hellman”密码.浏览器无论如何都不使用它们,但openSSL将与cURL或apachebench等工具一起使用.所以我打赌webpagetest.org正在使用它们.

有关详细信息,请参见this thread.

我个人在Nginx中使用这些设置来强制基于服务器首选项的最快但仍然安全的SSL密码,而不是浏览器:

更新2014-01-13:最近针对RC4的攻击,防止BEAST的浏览器更新以及客户端和服务器中TLS v1.2的更广泛可用性,此建议已更改.

更新2015-10-16:当前Nginx TLS设置2015-10-16按照CloudFlare的建议.请检查更新的前一个链接,因为TLSv1可能会在某个时候从推荐的配置中删除.当前设置根据当前最佳实践和截至此日期的最新PCI-DSS禁用SSLv3和RC4.

ssl_protocols               TLSv1 TLSv1.1 TLSv1.2;ssl_ciphers                 EECDH+CHACHA20:EECDH+AES128:RSA+AES128:EECDH+AES256:RSA+AES256:EECDH+3DES:RSA+3DES:!MD5;ssl_prefer_server_ciphers   on;

这取代了此答案中的早期建议,该建议已被删除以避免混淆.

总结

以上是内存溢出为你收集整理的linux – 在Nginx上的SSL握手协商非常慢全部内容,希望文章能够帮你解决linux – 在Nginx上的SSL握手协商非常慢所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/1045259.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-24
下一篇 2022-05-24

发表评论

登录后才能评论

评论列表(0条)

保存