Articles on: Developers

Nginx configuration to serve cache directly

FlyingPress uses PHP to serve cached pages when running on Nginx. If you prefer the Nginx web server to serve the cached pages directly, use the following configuration.

This configuration is optional. The performance difference is negligible for most sites but can be noticeable on high-traffic sites

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;
}

Updated on: 13/06/2024

Was this article helpful?

Share your feedback

Cancel

Thank you!