nginx 打开 spdy 失败

2014-11-26 16:02:15 +08:00
 laoisaudi
用nodejs写了一个server,使用了nodejs-spdy模块,监听8000端口,然后用nginx做反向代理,根据教程安装了nginx spdy module并配置(配置文件如下),但是用chrome访问时,通过chrome内置的spdy检查发现并没有走spdy(查看network的header也没有spdy的格式),求解答!

http {
upstream frontends {
server 127.0.0.1:8000;
}

server {
root /path/to/root;
listen 443 spdy ssl;
ssl_certificate /path/to/cert;
ssl_certificate_key /path/to/key;

location / {
add_header alternate-protocol 443:npn-spdy/3;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Scheme $scheme;
proxy_pass https://frontends;

}
}
}
4009 次点击
所在节点    NGINX
12 条回复
pierrec
2014-11-26 16:10:16 +08:00
然后通过网站检测发现,他会说443 no listening 对不
laoisaudi
2014-11-26 16:15:46 +08:00
@pierrecpen 通过spdycheck.org检测,发现是由spdy的。。。这才是奇怪的地方。。
hcymk2
2014-11-26 17:22:39 +08:00
估计和nginx支持的spdy版本有关,我的nginx的spdy版本还是SPDY/2
flynaj
2014-11-26 17:50:40 +08:00
spdycheck.org 检有就对了么,你的chrome 是不是版本,啊,设置什么的不对!
14
2014-11-26 17:56:07 +08:00
终端输入 nginx -V 看一下nginx的版本和配置

Ubuntu默认的是1.4.6版本只支持SPDY2,而Chrome已经放弃支持SPDY2了

解决方法是升级到1.6.2或者我记得V2EX的报错页面显示的nginx版本是1.7了。。。
Livid
2014-11-26 18:43:56 +08:00
在 Ubuntu 上可以用 PPA 安装最新版本的 Nginx:

https://launchpad.net/~chris-lea/+archive/ubuntu/nginx-devel
msg7086
2014-11-26 20:15:06 +08:00
5楼正解。Chrome要SPDY3+,老版本nginx只支持SPDY2,协商不成只能走普通https。
laoisaudi
2014-11-27 10:32:47 +08:00
@hcymk2 @flynaj @14 @Livid @msg7086 果然是版本问题,重新下了一个1.7.7的nginx,重新编译安装。。中间还耗了很长时间把之前的卸载掉。。重新装了新版本就行了,之前只支持spdy2,多谢各位
msg7086
2014-11-27 10:41:58 +08:00
@laoisaudi 一般来说,如果要编译升级nginx,只要把nginx编译好以后的二进制文件覆盖掉原始文件,然后执行service nginx upgrade就行了。
laoisaudi
2014-11-27 11:11:47 +08:00
@msg7086 貌似现在用service或者/etc/init.d来重启nginx都没有作用。。改了conf也没有重新加载。。有办法完全卸载然后重新安装吗
msg7086
2014-11-27 11:43:23 +08:00
@laoisaudi 最好是用系统包安装然后再覆盖nginx。我不知道你是怎么安装的所以也不太好说明。
而且ubuntu向来是以拒绝升级为主旨的,如果喜欢把玩新科技的建议debian。
laoisaudi
2014-11-27 13:28:57 +08:00

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/149449

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX