I'm trying to either serve images locally, or from a share (locally refreshed overnight).
My nginx site is served across 2 or more servers, to keep all the content in sync across each server, I'm storing it in an Azure file share, and that's the location root (/mnt/wp).
This works pretty well (along with Nginx Caching), but the images have a pretty slow wait time, which I assume is a latency issue client-server-azure. So to make things faster, I'd like to serve the images locally (/var/www/), if available, then fall back to azure (/mnt/wp)
So far I've got this location block, but the logs are showing a redirect loop..
Am I missing something?
location /wp-content/ {
add_header X-uploads $uri;
try_files @contentCache/$uri $uri;
}
location @contentCache{
root /var/www;
}
Best Answer
Your syntax for
try_files
is wrong. A named location should be the default action placed in the last element. Something like this:See this document for more.
If you need to reverse the order, just swap around your
root
directives.