摘要:已经发布很久了,其优点前篇文章已经介绍过了原理解析,今天我们来配置使其支持安装前必读以上版本才支持,如果使用的是,版本需要大于只支持协议的网站,且版本需要高于一查看当前安装了哪些模块如果事先没有安装,请忽略此步骤
Http2.0已经发布很久了,其优点前篇文章已经介绍过了HTTP2-0原理解析,今天我们来配置Nginx使其支持Http2.0
安装前必读:
Nginx1.10.0以上版本才支持Http2.0,如果使用的是Tengine,版本需要大于2.2.1
Http2.0只支持Https协议的网站,且openssl版本需要高于1.0.2
一、查看当前Nginx安装了哪些模块(如果事先没有安装Nginx,请忽略此步骤)
> /usr/sbin/nginx -V nginx version: nginx/1.12.2 built by gcc 4.8.5 20150623 (Red Hat 4.8.5-16) (GCC) built with OpenSSL 1.0.2k-fips 26 Jan 2017 TLS SNI support enabled configure arguments: --prefix=/usr/share/nginx --sbin-path=/usr/sbin/nginx --modules-path=/usr/lib64/nginx/modules --conf-path=/etc/nginx/nginx.conf --error-log-path=/var/log/nginx/error.log --http-log-path=/var/log/nginx/access.log --http-client-body-temp-path=/var/lib/nginx/tmp/client_body --http-proxy-temp-path=/var/lib/nginx/tmp/proxy --http-fastcgi-temp-path=/var/lib/nginx/tmp/fastcgi --http-uwsgi-temp-path=/var/lib/nginx/tmp/uwsgi --http-scgi-temp-path=/var/lib/nginx/tmp/scgi --pid-path=/run/nginx.pid --lock-path=/run/lock/subsys/nginx --user=nginx --group=nginx --with-file-aio --with-ipv6 --with-http_ssl_module --with-http_v2_module --with-http_realip_module --with-http_addition_module --with-http_xslt_module=dynamic --with-http_image_filter_module=dynamic --with-http_geoip_module=dynamic --with-http_sub_module --with-http_dav_module --with-http_flv_module --with-http_mp4_module --with-http_gunzip_module --with-http_gzip_static_module --with-http_random_index_module --with-http_secure_link_module --with-http_degradation_module --with-http_slice_module --with-http_stub_status_module --with-http_perl_module=dynamic --with-mail=dynamic --with-mail_ssl_module --with-pcre --with-pcre-jit --with-stream=dynamic --with-stream_ssl_module --with-google_perftools_module --with-debug --with-cc-opt="-O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector-strong --param=ssp-buffer-size=4 -grecord-gcc-switches -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -m64 -mtune=generic" --with-ld-opt="-Wl,-z,relro -specs=/usr/lib/rpm/redhat/redhat-hardened-ld -Wl,-E"
可以看到http2.0模块--with-http_v2_module已经存在了,方便演示就重新执行一遍
二、安装,升级
这里以最新版的Tengine为例
> wget http://tengine.taobao.org/download/tengine-2.2.3.tar.gz > cd tengine-2.2.3 > ./configure --prefix=/usr/share/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 # 执行make编译 > make # 如果是首次安装Nginx,执行make install;如果是升级,执行make upgrade > make upgrade # 完成后查看已经安装的模块,可以发现已经有http2(--with-http_v2_module)模块了 > nginx -V
三、配置Nginx
Nginx配置http2很简单,只需要在listen的端口后新增http2标识即可,如下
server { listen 443 ssl http2; server_name hostname.com; ssl_certificate cert/214547145790616.pem; ssl_certificate_key cert/214547145790616.key; location / { proxy_pass http://localhost:12345; } }
四、检查http2是否生效
打开chrome控制台,在Name一栏右键把Protocol勾选上
文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。
转载请注明本文地址:https://www.ucloud.cn/yun/40287.html
摘要:一前言最近想折腾一下服务器,升级到。所以还是要升级到更高点。三升级在协议中,涉及到,应用层协议协商的支持,目前所有主流的服务器系统中内置的库都低于版本。通过使用的命令行工具,可以检查当前的服务是否支持。 一、前言 最近想折腾一下服务器,升级到http2.0。 然后nginx照着官网配置了一下 # ssl写在443端口后面。这样http和https的链接都可以用 ...
摘要:在图片等加载上面比快很多,因此,换到了。于是又各种鼓捣,最终发现了原因原因如下由于我有其他网站还是使用因为并没有发现错误而这些网站和我要回退到的网站在同一台服务器。 http2.0在图片等加载上面比http1.1快很多,因此,换到了http2.0。不过问题出现了,由于http2.0在兼容性上面并不是非常完整,导致使用http2.0的部分网站会偶发性出现协议失败的现象(几率很小)。而这种...
摘要:消息与逻辑请求或响应消息对应的完整的一系列帧。声明数据流依赖关系指出,应尽可能先向父数据流分配资源,然后再向其依赖项分配资源。数据流应先于和获得完整资源分配和应先于和获得相同的资源分配和应基于其权重获得比例分配。 转载自 | 小米运维(公众号 ID:MI-SRE)showImg(https://segmentfault.com/img/bVbbesG?w=344&h=344); HTT...
阅读 1021·2021-10-11 10:59
阅读 3583·2021-09-26 09:55
阅读 878·2019-08-30 15:55
阅读 2628·2019-08-30 15:44
阅读 389·2019-08-30 14:06
阅读 643·2019-08-30 11:26
阅读 3305·2019-08-30 10:49
阅读 2411·2019-08-29 12:53