Last active
July 8, 2024 15:19
-
-
Save gijo-varghese/b0ed4ef2a378e80f9c12c5c3d750cb3e to your computer and use it in GitHub Desktop.
Nginx Config for FlyingPress
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
# Force HTTPS | |
if ($scheme = http) { | |
return 301 https://$http_host$request_uri; | |
} | |
location ~* \.html\.gz$ { | |
gzip off; | |
brotli off; | |
add_header x-flying-press-cache HIT; | |
add_header x-flying-press-source "Web Server"; | |
add_header cache-control "no-cache, must-revalidate, max-age=0"; | |
add_header CDN-Cache-Control "max-age=2592000"; | |
add_header Cache-Tag $host; | |
add_header Content-Encoding gzip; | |
add_header Content-Type "text/html; charset=UTF-8"; | |
} | |
set $flying_press_cache 1; | |
set $flying_press_url "/wp-content/cache/flying-press/$http_host/$request_uri/index.html.gz"; | |
set $flying_press_file "$document_root/wp-content/cache/flying-press/$http_host/$request_uri/index.html.gz"; | |
if ($request_method = POST) { | |
set $flying_press_cache 0; | |
} | |
if ($is_args) { | |
set $flying_press_cache 0; | |
} | |
if ($http_cookie ~* "(wp\-postpass|wordpress_logged_in|comment_author|woocommerce_cart_hash|edd_items_in_cart)") { | |
set $flying_press_cache 0; | |
} | |
if (!-f "$flying_press_file") { | |
set $flying_press_cache 0; | |
} | |
if ($flying_press_cache = 1) { | |
rewrite .* "$flying_press_url" last; | |
} |
Added UTF-8 charset
Is this still needed in 2024?
@DesignMike FlyingPress can deliver cached pages without it, so this is optional
@gijo-varghese Thanks for the info! Would this configuration enable NGINX to directly serve cached files without invoking WordPress or any PHP?
@cheey2003 Yes, with this config FlyingPress can serve cached pages directly from web server, without using PHP.
@gijo-varghese Thanks! It works well 👍 (I confirmed it by looking at the headers of the cached pages)
Updated configuration for GZIP. Also available in official documentation - https://docs.flyingpress.com/en/article/nginx-configuration-1m2sgsz/
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Added force HTTPS