Serving from cache when your backend is down
While we don't want to see a scenario where your backend server is down, expecting to maintain 100 percent uptime simply isn't realistic. Whether it's unexpected or planned upgrades, having the ability to still serve content is a great feature.
With NGINX, we can tell it to serve stale cache data when it can't reach your backend server. Having a page which is slightly out-of-date is (in most scenarios) a far better outcome than sending the client a 502
HTTP error (Bad Gateway).
Getting ready
As the caching is part of the standard NGINX platform, no additional prerequisites are required.
How to do it...
Building on our previous recipes, we take the existing proxy setup and add an additional directive:
server { listen 80; server_name proxystale.nginxcookbook.com; access_log /var/log/nginx/proxy-access.log combined; location / { proxy_pass http://127.0.0.1:8000; proxy_set_header X-Real-IP $remote_addr;...