Using proxy_cache_background_update
Maxim Dounin
mdounin at mdounin.ru
Sun Feb 26 13:14:33 UTC 2017
Hello!
On Sun, Feb 26, 2017 at 10:43:53AM +0100, Jean-Paul Hemelaar wrote:
> Hi all,
>
> I tested the new proxy_cache_background_update function to serve stale
> content while fetching an update in the background.
>
> I ran into the following issue:
> - PHP application running on www.example.com
> - Root document lives on /index.php
>
> As soon as the cache has expired:
> - A client requests http://www.example.com/
> - Nginx returns the stale response
> - In the background Nginx will fetch
> http://www.mybackend.com/index.html (index.html
> instead of index.php or just /)
> - The backend server returns a 404 (which is normal)
> - The root document remains in stale state as Nginx is unable to fetch it
> properly
>
> As a workaround I included "rewrite ^/index.html$ / break;" to rewrite the
> /index.html call to a simple / for the backend server.
> This works, but is not ideal.
>
> Is there a better way to tell Nginx to just fetch "/"?
Please show your configuration.
In the background nginx is expected to fetch the same resource
that was originally requested. It uses a separate subrequest
though, so it might end up requesting a different resource when
using some non-trivial configurations where a resource requested
depends on additional factors which are different in the
subrequest.
--
Maxim Dounin
http://nginx.org/
More information about the nginx
mailing list