首页   注册   登录
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
NGINX
NGINX Trac
3rd Party Modules
Security Advisories
CHANGES
OpenResty
ngx_lua
Tengine
在线学习资源
NGINX 开发从入门到精通
NGINX Modules
ngx_echo
V2EX  ›  NGINX

nginx 打开 spdy 失败

  •  
  •   laoisaudi · 2014-11-26 16:02:15 +08:00 · 3184 次点击
    这是一个创建于 1812 天前的主题,其中的信息可能已经有所发展或是发生改变。
    用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;

    }
    }
    }
    12 回复  |  直到 2014-11-27 13:28:57 +08:00
        1
    pierrec   2014-11-26 16:10:16 +08:00
    然后通过网站检测发现,他会说443 no listening 对不
        2
    laoisaudi   2014-11-26 16:15:46 +08:00
    @pierrecpen 通过spdycheck.org检测,发现是由spdy的。。。这才是奇怪的地方。。
        3
    hcymk2   2014-11-26 17:22:39 +08:00
    估计和nginx支持的spdy版本有关,我的nginx的spdy版本还是SPDY/2
        4
    flynaj   2014-11-26 17:50:40 +08:00
    spdycheck.org 检有就对了么,你的chrome 是不是版本,啊,设置什么的不对!
        5
    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了。。。
        6
    Livid   V2EX Moderator   2014-11-26 18:43:56 +08:00
    在 Ubuntu 上可以用 PPA 安装最新版本的 Nginx:

    https://launchpad.net/~chris-lea/+archive/ubuntu/nginx-devel
        7
    msg7086   2014-11-26 20:15:06 +08:00
    5楼正解。Chrome要SPDY3+,老版本nginx只支持SPDY2,协商不成只能走普通https。
        8
    laoisaudi   2014-11-27 10:32:47 +08:00
    @hcymk2 @flynaj @14 @Livid @msg7086 果然是版本问题,重新下了一个1.7.7的nginx,重新编译安装。。中间还耗了很长时间把之前的卸载掉。。重新装了新版本就行了,之前只支持spdy2,多谢各位
        9
    msg7086   2014-11-27 10:41:58 +08:00
    @laoisaudi 一般来说,如果要编译升级nginx,只要把nginx编译好以后的二进制文件覆盖掉原始文件,然后执行service nginx upgrade就行了。
        10
    laoisaudi   2014-11-27 11:11:47 +08:00
    @msg7086 貌似现在用service或者/etc/init.d来重启nginx都没有作用。。改了conf也没有重新加载。。有办法完全卸载然后重新安装吗
        11
    msg7086   2014-11-27 11:43:23 +08:00
    @laoisaudi 最好是用系统包安装然后再覆盖nginx。我不知道你是怎么安装的所以也不太好说明。
    而且ubuntu向来是以拒绝升级为主旨的,如果喜欢把玩新科技的建议debian。
        12
    laoisaudi   2014-11-27 13:28:57 +08:00
    关于   ·   FAQ   ·   API   ·   我们的愿景   ·   广告投放   ·   感谢   ·   实用小工具   ·   4048 人在线   最高记录 5043   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.3 · 24ms · UTC 06:41 · PVG 14:41 · LAX 22:41 · JFK 01:41
    ♥ Do have faith in what you're doing.