jar*_*vis 5 performance ssl nginx amazon-web-services
我们的系统前面有 Nginx,后面有 Apache 代理。我们使用 SSL/TLS 进行连接。
题:
这是我的配置:
ssl_certificate /path/ssl.crt;
ssl_certificate_key /path/ssl.key;
ssl_dhparam /path/dh.pem;
ssl_buffer_size 4k;
ssl_session_timeout 4h;
ssl_session_cache shared:SSL:20m;
ssl_session_tickets on;
ssl_trusted_certificate /path/trust.crt;
ssl_stapling on;
ssl_stapling_verify on;
resolver 8.8.8.8 8.8.4.4 valid=300s;
resolver_timeout 5s;
Run Code Online (Sandbox Code Playgroud)
我使用Mozilla SSL 配置生成器在下面生成我的密码。
ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
ssl_ciphers 'ECDHE-ECDSA-CHACHA20-POLY1305:ECDHE-RSA-CHACHA20-POLY1305:ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-GCM-SHA384:DHE-RSA-AES128-GCM-SHA256:DHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-AES128-SHA256:ECDHE-RSA-AES128-SHA256:ECDHE-ECDSA-AES128-SHA:ECDHE-RSA-AES256-SHA384:ECDHE-RSA-AES128-SHA:ECDHE-ECDSA-AES256-SHA384:ECDHE-ECDSA-AES256-SHA:ECDHE-RSA-AES256-SHA:DHE-RSA-AES128-SHA256:DHE-RSA-AES128-SHA:DHE-RSA-AES256-SHA256:DHE-RSA-AES256-SHA:ECDHE-ECDSA-DES-CBC3-SHA:ECDHE-RSA-DES-CBC3-SHA:EDH-RSA-DES-CBC3-SHA:AES128-GCM-SHA256:AES256-GCM-SHA384:AES128-SHA256:AES256-SHA256:AES128-SHA:AES256-SHA:DES-CBC3-SHA:!DSS';
ssl_prefer_server_ciphers on;
Run Code Online (Sandbox Code Playgroud)
密码是为了适应大多数浏览器。我也设置了Strict-Transport-Security。
我们的系统使用 CloudFront 在 Amazon AWS 上运行。目前,SSL Labs 需要大约 130 秒来运行测试。Pingdom 显示一个请求的SSL 连接至少需要220ms。
谢谢!
我在 nginx 和 incapsula 中遇到了一些性能问题,我发现问题与所使用的密码有关。Incapsula 使用 DHE-RSA-AES128-SHA 连接,这导致服务器性能低且负载高。我使用https://wiki.mozilla.org/Security/Server_Side_TLS中的“中间列表” ,并对密码进行了一些压力测试,并得到了有效结果:
Cipher Worst response time
DHE-RSA-AES128-SHA 15.745s
DHE-RSA-AES256-SHA 15.271s
AES128-SHA 1.421s
AES256-SHA 1.765s
DES-CBC3-SHA 1.459s
Run Code Online (Sandbox Code Playgroud)
正如您所看到的,DHE-* 工作得很差,但 AES128-SHA 工作得很好。因此,如果您认为存在性能问题,请使用数百或数千个连接构建压力测试,并将 nginx 配置为仅使用一种密码。您应该能够查看是否有任何密码正在正常工作并尝试禁用它(不要忘记针对您的客户端测试最终设置,或使用ssllabs 测试来查看您是否没有阻止您的用户)
归档时间: |
|
查看次数: |
1094 次 |
最近记录: |