j'utilise Nginx comme proxy inverse pour connecter une API. Le problème est que lorsque j'envoie une requête après ajouter ou supprimer quelque chose. Nginx Envoyez-moi la vieille valeur JSON. J'ai essayé de cache handicapé mais ça ne marche pas.
ma configuration NGinx:
location / {
sendfile off;
add_header Last-Modified $date_gmt;
add_header Cache-Control 'no-store, no-cache, must-revalidate, proxy-revalidate, max-age=0';
if_modified_since off;
expires off;
etag off;
proxy_no_cache 1;
proxy_cache_bypass 1;
proxy_pass http://127.0.0.1:5000;
proxy_set_header Host $http_Host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-Proto $scheme;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header HTTPS $https;
}
j'ai essayé la requête sans Nginx et tout fonctionne bien dans la console
merci!
Selon la documentation proxy_cache Vous devez remplacer
proxy_no_cache 1;
proxy_cache_bypass 1;
proxy_no_cache et proxy_cache_bypass Définit les conditions dans lesquelles la réponse ne sera pas enregistrée dans un cache.
Puis pour désactiver le cache, vous pouvez remplacer ces deux conditions avec
proxy_cache éteint;
Ici, un exemple complet que vous pouvez utiliser pour configurer un proxy pour un serveur API apathique
location /myapi {
# Proxy
proxy_set_header X-Localhost true;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_pass http://localhost:8080/myapi;
proxy_redirect off;
proxy_buffers 32 16k;
proxy_busy_buffers_size 64k;
proxy_cache off;
# Headers for client browser NOCACHE + CORS Origin filter
add_header 'Cache-Control' 'no-store, no-cache, must-revalidate, proxy-revalidate, max-age=0';
expires off;
add_header 'Access-Control-Allow-Methods' 'GET, POST, OPTIONS' always;
add_header 'Access-Control-Allow-Headers' 'Origin, X-Requested-With, Content-Type, Accept' always;
allow all;
}