use http2_push instead of http2_push_preload
This avoids needing to conditionally add nopush to each preloaded resource in the Link header. There's also no support for pushing JavaScript modules via http2_push_preload since nginx doesn't have support for rel=modulepreload.
This commit is contained in:
@@ -77,15 +77,26 @@ http {
|
||||
default 0;
|
||||
}
|
||||
|
||||
map $nopush $preload_resources {
|
||||
1 "<{{path|/main.css}}>; rel=preload; nopush; as=style; integrity={{integrity|/main.css}}, </fonts/roboto-v29-regular-latin.woff2>; rel=preload; nopush; as=font; crossorigin, </fonts/roboto-v29-bold-latin.woff2>; rel=preload; nopush; as=font; crossorigin, <{{path|/mask-icon.svg}}>; rel=preload; nopush; as=image";
|
||||
default "<{{path|/main.css}}>; rel=preload; as=style; integrity={{integrity|/main.css}}, </fonts/roboto-v29-regular-latin.woff2>; rel=preload; as=font; crossorigin, </fonts/roboto-v29-bold-latin.woff2>; rel=preload; as=font; crossorigin, <{{path|/mask-icon.svg}}>; rel=preload; as=image";
|
||||
}
|
||||
|
||||
map $nopush $push_cookie {
|
||||
0 "__Host-preload=1; HttpOnly; Secure; SameSite=Lax; Path=/";
|
||||
}
|
||||
|
||||
map $nopush $push_stylesheet {
|
||||
0 "{{path|/main.css}}";
|
||||
}
|
||||
|
||||
map $nopush $push_font_regular {
|
||||
0 /fonts/roboto-v29-regular-latin.woff2;
|
||||
}
|
||||
|
||||
map $nopush $push_font_bold {
|
||||
0 /fonts/roboto-v29-bold-latin.woff2;
|
||||
}
|
||||
|
||||
map $nopush $push_mask_icon {
|
||||
0 "{{path|/mask-icon.svg}}";
|
||||
}
|
||||
|
||||
server {
|
||||
listen 80 backlog=4096;
|
||||
listen [::]:80 backlog=4096;
|
||||
|
||||
@@ -1,3 +1,6 @@
|
||||
add_header Link $preload_resources always;
|
||||
add_header Link "<{{path|/main.css}}>; rel=preload; as=style; integrity={{integrity|/main.css}}, </fonts/roboto-v29-regular-latin.woff2>; rel=preload; as=font; crossorigin, </fonts/roboto-v29-bold-latin.woff2>; rel=preload; as=font; crossorigin, <{{path|/mask-icon.svg}}>; rel=preload; as=image" always;
|
||||
add_header Set-Cookie $push_cookie always;
|
||||
http2_push_preload on;
|
||||
http2_push $push_stylesheet;
|
||||
http2_push $push_font_regular;
|
||||
http2_push $push_font_bold;
|
||||
http2_push $push_mask_icon;
|
||||
|
||||
Reference in New Issue
Block a user