Mi caché funciona bien mientras el servidor de origen se está ejecutando. Uso "proxy_cache_use_stale" como se ve a continuación. Lo probé con diferentes códigos de error y con la actualización, pero no muestra los archivos almacenados en caché (están en la carpeta de caché). También probé las diversas soluciones CORS que encontré, pero tampoco funcionan.
Mi archivo .conf:
proxy_cache_path /etc/nginx/cache levels=1:2 keys_zone=my_cache:10m max_size=10g inactive=300d use_temp_path=off; server { listen 80; listen [::]:80; location / { if ($request_method = 'OPTIONS') { add_header 'Access-Control-Allow-Origin' "$http_origin" always; add_header 'Access-Control-Allow-Credentials' 'true' always; add_header 'Access-Control-Allow-Headers' "Origin, X-Requested-With, Content-Type, Accept" always; add_header 'Access-Control-Allow-Methods' 'GET, POST, OPTIONS'; add_header 'Access-Control-Max-Age' 1728000; add_header 'Content-Type' 'text/plain; charset=utf-8'; add_header 'Content-Length' 0; return 204; } proxy_cache my_cache; proxy_cache_use_stale error timeout invalid_header updating http_500 http_502 http_503 http_504 http_403 http_404 http_429; proxy_cache_background_update on; proxy_cache_lock on; proxy_cache_key $host$request_uri|$request_body; proxy_cache_valid 200 302 301 800d; proxy_ignore_headers Cache-Control; proxy_cache_methods GET HEAD POST; proxy_pass example.com; add_header X-Cache-Status $upstream_cache_status; } }Error:
Access to XMLHttpRequest at 'http://example.com' from origin 'http://localhost' has been blocked by CORS policy: No 'Access-Control-Allow-Origin' header is present on the requested resource.Problema resuelto. No hubo problema con el CORS, el problema estaba en el json.