hsia 发表于 2016-7-8 22:34:42

http2的疑问

大家好!
以我的风格,在这个问题上已经做了搜索相关文章的事,在版本更新说明,1.3是默认支持http2的,我查看了我的版本是1.10 但是我的nginx就是不支持http2
贴出我的confserver {
listen 80;
server_namewww.boxmail.cn boxmail.cn;
rewrite ^ https://$server_name$request_uri? permanent;
}

server {
    listen 443 ssl http2;
    server_name www.boxmail.cn;
    ssl on;
    ssl_certificate /etc/ssl/server.crt;
    ssl_certificate_key /etc/ssl/server.key;
    ssl_prefer_server_ciphers on;
      ssl_ciphers "EECDH+AESGCM:EDH+AESGCM:AES256+EECDH:AES256+EDH";
      ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
      ssl_session_cache shared:SSL:10m;
      
    location / {
      root /home/wwwroot/www.boxmail.cn;
                index index.html index.htm index.php default.html default.htm default.php;
      include wordpress.conf;
      #error_page   404   /404.html;
      include enable-php.conf;
location ~ /data/settings/settings.xml {
    return 404;
}
      location ~ .*\.(gif|jpg|jpeg|png|bmp|swf)$
      {
            expires      30d;
      }

      location ~ .*\.(js|css)?$
      {
            expires      12h;
      }

      location ~ /\.
      {
            deny all;
      }

      access_log off;
    }
}

nginx version: nginx/1.10.0
built by gcc 4.4.7 20120313 (Red Hat 4.4.7-17) (GCC)
built with OpenSSL 1.0.1e-fips 11 Feb 2013
TLS SNI support enabled
configure arguments: --user=www --group=www --prefix=/usr/local/nginx --with-http_stub_status_module --with-http_ssl_module --with-http_v2_module --with-http_gzip_static_module --with-ipv6 --with-http_sub_module

[ 本帖最后由 hsia 于 2016-7-8 22:47 编辑 ]

hsia 发表于 2016-7-8 23:36:14

回复 1# 的帖子

经查,TLS HTTP /2连接需要“应用层协议协商”(ALPN)TLS扩展支持,这仅因为OpenSSL的1.0.2版。使用“下一个协议谈判”(NPN)TLS扩展用于此目的(自OpenSSL的版本1.0.1)不能保证。

以上来自官方翻译。说明openssl的版本问题,我的版本太低。等升级openssl再看看。

hsia 发表于 2016-7-9 00:29:39

回复 2# 的帖子

问题来了,怎么样编译安装升级这个openssl 1.0.2h ???

licess 发表于 2016-7-9 08:00:34

在一些高版本的chrome 50或其他浏览器上是必须要求alpn才能支持到http2的

alpn的支持方法
编译时指定上 --with-openssl=openssl源码目录全路径
lnmp 1.3可以直接修改lnmp.conf 里的Nginx_Modules_Options='' ,引号中加上--with-openssl=openssl源码目录全路径 ,然后重新升级一下nginx就行

cd /root/
wget https://www.openssl.org/source/openssl-1.0.2h.tar.gz
tar zxf openssl-1.0.2h.tar.gz
修改lnmp.conf 里的Nginx_Modules_Options='' 为 Nginx_Modules_Options='--with-openssl=/root/openssl-1.0.2h'
./upgrade.sh nginx

hsia 发表于 2016-7-9 09:36:05

回复 4# 的帖子

感谢,现在支持了。非常感谢。
页: [1]
查看完整版本: http2的疑问