diff --git a/roles/float-infra-nginx/templates/config/conf.d/proxy.conf b/roles/float-infra-nginx/templates/config/conf.d/proxy.conf
index 7d31efc24a25d7ba30aca733b6d9e0d4c6becbbc..c67e0401b5c7145dcfec69b00788b0580a24e964 100644
--- a/roles/float-infra-nginx/templates/config/conf.d/proxy.conf
+++ b/roles/float-infra-nginx/templates/config/conf.d/proxy.conf
@@ -32,3 +32,9 @@ proxy_cache_min_uses 2;
 # Show our own error pages, not the remote ones.
 proxy_intercept_errors on;
 
+# Ensure we only send one upstream request, and allow NGINX to serve
+# stale data while updating.
+proxy_cache_use_stale updating;
+proxy_cache_background_update on;
+proxy_cache_lock on;
+