2016-06-09 126 views
0

我有我的ConfigEd nginx的一个http2服务的Chrome 51.0.2704.84没有请求HTTP/2.0,但Safari浏览器的火狐做

worker_processes 2; 
    events { 
     worker_connections 1024; 
     multi_accept on; 
     use epoll; 
    } 

http { 
    sendfile on; 

    server { 
     listen 80; 
     location/{ 
      return 301 https://$host$request_uri; 
     } 
    } 

    server { 
     listen 443 ssl http2; 

     ssl_certificate  /usr/cer/server.cer; 
     ssl_certificate_key /usr/cer/server.key; 

     location/{ 
      root /usr/share/nginx/html; 
      index index.html; 
     } 
    } 
} 

与日志消息

  • 的Chrome 51.0.2704.84
  • 的Safari 9.1.1
  • 火狐47.0

+1

https://www.nginx.com/blog/supporting-http2-google-镀铬的用户/ –

回答

0

原因:

为了解决这个问题,谷歌开发了名为SPDY新的传输层。 SPDY通过SSL/TLS访问,并且Google开发了名为Next Protocol Negotiation(NPN)的SSL/TLS修改,允许客户将其SSL/TLS连接从HTTP/1升级到HTTP/2。主要的网络服务器(如NGINX)实施了SPDY; OpenSSL和其他SSL/TLS堆栈实施了NPN。

从源

溶液

重新编译NGINX和使用私有构建使用OpenSSL 1.0.2

相关问题