怎么升級nginx支持HTTP/2服務端推送

升級nginx到1.14.0

1、配置nginx官方的yum源。創(chuàng)建配置文件?/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:?;?as=script;?rel=preload

也可以同時推送多個文件,比如:

link:?;?as=script;?rel=preload,?;?as=style;?rel=preload

具體到wordpress,可以加上如下代碼:

function?add_http2_push_header()?{ ??$preload_resource_array?=?array( ????';?as=script;?rel=preload', ????';?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服務端推送?

? 版權聲明
THE END
喜歡就支持一下吧
點贊11 分享