aPIに接続するためのリバースプロキシとしてnginxを使用します。問題は、何かを追加または削除した後にクエリを送信するときです。 Nginxは古いjson値を送ってくれます。キャッシュを無効にしようとしましたが、機能しません。
私の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;
}
私はnginxなしでクエリを試しましたが、すべてコンソールでうまく機能します
ありがとうございました!
ドキュメントによると proxy_cache 置き換える必要があります
proxy_no_cache 1;
proxy_cache_bypass 1;
proxy_no_cacheおよびproxy_cache_bypassは、応答が保存されない条件を定義しますキャッシュ。
次に、キャッシュを無効にするために、これら2つの条件を次のように置き換えることができます。
proxy_cacheオフ;
ここでは、ステートレスAPIサーバーのプロキシを構成するために使用できる完全な例を示します
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;
}