amazon-web-services - 有没有人设法让 SPDY 在 Amazon ELB 后面工作?

标签 amazon-web-services nginx load-balancing spdy

一段时间以来,我们一直在使用使用 spdy 模块编译的 nginx,尽管只是规范的草案 2,但对其性能非常满意。

然而,我们现在需要水平扩展并将我们的 EC2 实例置于弹性负载均衡器之后。

由于 ELB 不支持 NPN 协议(protocol),我们将监听器设置为以下内容:

SSL 443 -> SSL 443

我们还启用了新的代理协议(protocol),如下所述:

http://docs.aws.amazon.com/ElasticLoadBalancing/latest/DeveloperGuide/enable-proxy-protocol.html

使用此配置一切正常。我们的应用程序在我们的实例之间成功地进行了负载平衡。

但是在运行 http://spdycheck.org/ 时它报告 SPDY 未启用。然而,如果我将 spdycheck 指向单个实例的弹性 IP,它会正确报告 SPDY 已启用。

任何帮助将不胜感激。

最佳答案

执行 SSL -> SSL 不会将整个 TCP 数据包发送到您的网络服务器。
AWS 使用证书解密数据包并重新加密。您的后端只接收修改后的数据包。
可行的选择是将协议(protocol)更改为 TCP,但您需要 nginx proxy patch用于 http header 或更好地工作。

我也遇到了同样的问题,正在等待 AWS 在 ELB 上启用 NPN 协商或 nginx 将 accept-proxy 补丁添加到其模块中。

关于amazon-web-services - 有没有人设法让 SPDY 在 Amazon ELB 后面工作?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19983678/

相关文章:

ruby - 如何通过 Ruby 连接到 Amazon EMR Hive?

c# - 从 AWS S3 获取对象作为流

amazon-web-services - 如何阻止用户访问我的网站的非http版本?

amazon-web-services - aws 上的 reCaptcha 和负载均衡器

javascript - 从 node.js 创建对 AWS ES 实例的有效签名请求

python - 使用 nginx 和 Gunicorn 运行 django 应用程序时缺少 sock 文件

ruby - 无法加载此类文件 -- app.rb (LoadError)

nginx - Nginx服务无法在Windows 10上启动-Nginx : [alert] could not open error log file: CreateFile()

lucene.net - 如何负载平衡 Lucene.Net?

asp.net - NLB 和 Web 部署