微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

怎么升级nginx支持HTTP/2服务端推送

本篇内容介绍了“怎么升级Nginx支持HTTP/2服务端推送”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!

升级Nginx到1.14.0

1、配置Nginx官方的yum源。创建配置文件 /etc/yum.repos.d/Nginx.repo ,写入如下内容

[Nginx]
name=Nginx repo
baseurl=http://Nginx.org/packages/centos/7/$basearch/
gpgcheck=0
enabled=1

2、更新Nginx

yum update

3、重启Nginx

systemctl restart Nginx

4、验证Nginx版本

$ curl -i 127.0.0.1
http/1.1 301 moved permanently
server: Nginx/1.14.0

修改Nginx配置

在原有的配置上,加上 http2_push_preload on; 。当Nginx检测到 link 响应首部时,会主动往客户端推送资源。

location ~ \.PHP$ {
  # ...省略其他配置
  http2_push_preload on; # 加上这行
}

修改wordpress主题

Nginx的 http2_push_preload 需要应用服务的配合。比如我要主动推送 index.js 这个文件,那么需要加上如下响应首部:

link: </index.js>; as=script; rel=preload

也可以同时推送多个文件,比如:

link: </index.js>; as=script; rel=preload, </index.css>; as=style; rel=preload

具体到wordpress,可以加上如下代码

function add_http2_push_header() {
  $preload_resource_array = array(
    '</index.js>; as=script; rel=preload',
    '</index.css>; as=style; rel=preload'
  );
  $preload_link_value = join( ', ', $preload_resource_array );

  header( 'link: '.$preload_link_value ); 
}
add_action( 'send_headers', 'add_http2_push_header' );

浏览器验证

升级之前,不支持服务端推送。

怎么升级nginx支持HTTP/2服务端推送

升级之后,支持服务端推送。

怎么升级nginx支持HTTP/2服务端推送

 

“怎么升级Nginx支持HTTP/2服务端推送”的内容就介绍到这里了,感谢大家的阅读。如果想了解更多行业相关的知识可以关注编程之家网站,小编将为大家输出更多高质量的实用文章

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。

相关推荐