Skip to content

Instantly share code, notes, and snippets.

@masudcsesust04
Forked from lukeburden/nginx_blog.conf
Created August 20, 2019 10:49
Show Gist options
  • Save masudcsesust04/d1b3f56c9d319ef7441240f82ff002aa to your computer and use it in GitHub Desktop.
Save masudcsesust04/d1b3f56c9d319ef7441240f82ff002aa to your computer and use it in GitHub Desktop.
Nginx Reverse Proxy for Wordpress with Caching
proxy_cache_path /var/nginx/cache levels=1:2 keys_zone=blog_cache:1m max_size=100m inactive=60m use_temp_path=off;
server{
listen 80;
server_name www.example.com;
# redirect HTTP traffic to HTTPS
if ($http_x_forwarded_proto = "http") {
rewrite ^(.*)$ https://$server_name$1 permanent;
}
# prevent forwarding of cookies and unnecessary headers
proxy_set_header Cookie "";
# prevent passing of WP cookie back to client
proxy_hide_header Set-Cookie;
# hide a range of other, unimportant headers
proxy_hide_header link;
proxy_hide_header wpe-backend;
proxy_hide_header x-pingback;
location /blog/ {
proxy_pass https://exampleblog.wpengine.com:443/;
proxy_set_header Host exampleblog.wpengine.com;
# strip /blog/ from the path
rewrite /blog/(.*) /$1 break;
# replace all instances of the WPEngine subdomain from the response
subs_filter_types text/html text/css text/xml;
subs_filter 'exampleblog.wpengine.com' 'www.example.com/blog' gi;
}
# we cache all content for 60 minutes, ignoring WPEngine cache
# headers but not caching some most errors
proxy_cache blog_cache;
proxy_ignore_headers Cache-Control;
proxy_cache_valid 200 302 60m;
proxy_cache_valid 404 10m;
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment