2016-04-11 1 views
1

Mon serveur nginx si configuré comme ceci:nginx ne cache pas JSON, mais les caches .Jpg

...... 
server { 
    # Status page 
    location /nginx_originserver { 
     stub_status on; 
    } 

    listen 80; 

location ~ ^/1 { 
     proxy_pass http://10.10.52.126:1239; 
     proxy_cache api_cache; 
    } 
...... 
} 

Dans ce cas, quand je passe en revue http://localhost/1/thumbnail.jpg, le fichier image est mis en mémoire cache. Mais quand je change le proxy à un emplacement qui renvoie json comme ci-dessous et parcourir http://localhost/1/api_service, le fichier json n'est pas mis en cache, pourquoi juste le fichier image est mis en cache mais pas json, comment mettre en cache le fichier json?

location ~ ^/1 { 
    proxy_pass http://10.10.52.126:8090; 
    proxy_cache api_cache; 
} 
+0

ce lien https://serversforhackers.com/nginx-caching/ espérons aider –

+0

@ThanhNguyenVan c'est ce que je puis, peut encore Ne pas comprendre pourquoi il suffit de mettre en cache les fichiers image. – user4016367

Répondre

1

Avez-vous essayé proxy_cache_valid 200 1d;:

location ~ ^/1 { 
    proxy_pass http://10.10.52.126:8090; 
    proxy_cache api_cache; 
    proxy_cache_valid 200 1d; 
} 

Link