我想部署SPDY,但是我正在使用Amazon的ELB TCP路由。 ELB也为我们处理安全连接。 如何在dockerconfiguration?
不幸的是,答案是:你不能。 今天,为了部署SPDY,您的TLS终止服务器(在本例中是ELB)需要能够通过TLS“下一个协议协商”(NPN)协商SPDY。 NPN是对TLS的扩展,需要最新版本的OpenSSL或其他库.ELB不支持NPN协商。
解决scheme是通过ELB将整个TCPstream代理到您的应用服务器,然后可以处理NPN和TLS握手。 docker可以做到这一点,或者你可以使用像HAProxy这样的工具,现在是NPN能力: http : //www.igvita.com/2012/10/31/simple-spdy-and-npn-negotiation-with-haproxy/
使用proxy_protocol,ELB现在支持SPDY。
然而,设置起来有点麻烦,您需要将ProxyProtocol策略添加到ELB,并将侦听器设置为TCP 443 – > TCP 443
这将通过ELB(连同代理协议头)连接到你的服务器。
Nginx刚刚在版本1.5.12中添加了代理协议支持,所以我只是简单地听一下如下:
听443 ssl proxy_protocol spdy
然后将real_ip设置为通过proxy_protocol ip和voila,在ELB后面的SPDY。
我应该提到,这意味着您可以解码Web服务器上的SSL证书,而不是像使用HTTPS侦听器那样使用ELB。 但对我来说这很好。
如果亚马逊可以通过命令行添加更好的控制来添加使用web gui的策略,那将是一件很痛苦的事情。
https://forums.aws.amazon.com/thread.jspa?threadID=90109&start=25&tstart=0