-
-
Save bradleyboy/26ffd2ec7da68919ecd1 to your computer and use it in GitHub Desktop.
| # Enable gzip. Highly recommending for best peformance | |
| gzip on; | |
| gzip_comp_level 6; | |
| gzip_types text/html text/css text/javascript application/json application/javascript application/x-javascript; | |
| # By default, do not set expire headers | |
| expires 0; | |
| # Set expires header for console CSS and JS. | |
| # These files are timestamped with each new release, so it is safe to cache them agressively. | |
| location ~ "console_.*\.(js|css)$" { | |
| expires max; | |
| } | |
| # Catch image requests and pass them back to PHP if a cache does not yet exist | |
| location ~ "^/storage/cache/images(/(([0-9]{3}/[0-9]{3})|custom)/.*)$" { | |
| # Cached images have timestamps in the URL, so it is safe to set | |
| # aggresive cache headers here. | |
| expires max; | |
| try_files $uri /i.php?path=$1; | |
| } | |
| # Catch .css.lens requests and serve cache when possible | |
| location ~ "(lightbox-)?settings.css.lens$" { | |
| default_type text/css; | |
| try_files /storage/cache/site/${uri} /app/site/site.php?url=/$1settings.css.lens; | |
| } | |
| # Catch koken.js requests and serve cache when possible | |
| location ~ koken.js$ { | |
| default_type text/javascript; | |
| try_files /storage/cache/site/${uri} /app/site/site.php?url=/koken.js; | |
| } | |
| # Standard site requests are cached with .html extensions | |
| set $cache_ext 'html'; | |
| # PJAX requests contain the _pjax GET parameter and are cached with .phtml extensions | |
| if ($arg__pjax) { | |
| set $cache_ext 'phtml'; | |
| } | |
| # Do not check for a cache for non-GET requests | |
| if ($request_method != 'GET') { | |
| set $cache_ext 'nocache'; | |
| } | |
| # If share_to_tumblr cookie is preset, disable caching (long story) | |
| if ($http_cookie ~* "share_to_tumblr" ) { | |
| set $cache_ext 'nocache'; | |
| } | |
| # Catch root requests | |
| location ~ ^/?$ { | |
| try_files /storage/cache/site/index/cache.$cache_ext /app/site/site.php?url=/; | |
| } | |
| # All other requests get passed back to Koken unless file already exists | |
| location / { | |
| try_files $uri $uri/ /storage/cache/site/${uri} /storage/cache/site/${uri}cache.$cache_ext /app/site/site.php?url=$uri&$args; | |
| } |
Kind of struggling with this. New to using nginx. I put this into my sites-enabled file in the server block and now my root path ('/') just 404's. What did I do wrong?
I have added these lines to the file to prevent direct access to the original files:
# Original file directories
location ~ "^/storage/originals(/(([0-9]{2}/[0-9]{2}))/.*)$" {
deny all;
}
It does not affect the "download" button on page when setting "Maximum image download" as "Extra large" (which i'm using), as download also goes to the cache folder. I didn't test on other options.
Just like @csu I'm stuggling a bit as well to make this work with NGINX. Do we need more than just the above-mentioned config?
Also struggling, the last section makes my NGINX config fail on Debian 8.2 with easyengine managing the nginx conf.
There a full Nginx configuration example here: https://github.com/koken/docker-koken-lemp/blob/master/conf/nginx-site.conf. Works fine for me on Debian Jessie
How would I make this work for a subdirectory? I'm still getting /index.php? in my URLs.
# Catch koken.js requests and serve cache when possible
location ~ koken.js$ {
default_type text/javascript;
try_files /storage/cache/site/${uri} /app/site/site.php?url=/koken.js;
}
is not working. T^T
A 404 error appears when accessing the address printed on the browser console
example.com/koken.js?0.22.24
But example.com/index.php? When approached, it comes out normally.
example.com/ndex.php?/koken.js
@bradleyboy Would be nice if you could fix line 30 as mentioned by bhays.
Thank you so much for impressive work with Koken and great support too.