1

J'ai mis en place un serveur proxy inverse Nginx desservant des fichiers mp4 hébergés sur un autre serveur. Tout fonctionne bien maintenant, sauf le cache. Bien que j'ai proxy_cache_valid mis à 1 jour (proxy_cache_valid any 1d), le cache sera automatiquement supprimé après un court laps de temps (5-10 minutes je pense). Mes tailles de fichiers vont de 200 à 1500 Mo (700 Mo en moyenne).Nginx supprime automatiquement le cache qui est défini pour être valide plus longtemps?

Je ne pouvais pas comprendre ce qui ne va pas avec les configurations. Tout pourrait aider.

Voici les configurations

worker_processes auto; 

worker_rlimit_nofile 100000; 

events { 
    worker_connections 5000; 
    multi_accept on; 
    use epoll; 
} 


http { 
    include  mime.types; 
    default_type application/octet-stream; 

    sendfile  on; 
    tcp_nopush  on; 
    tcp_nodelay on; 

    keepalive_timeout 10; 
    keepalive_requests 1024; 
    client_body_timeout 12; 
    client_header_timeout 12; 
    send_timeout 10; 

    proxy_cache_path /tmp/mycache keys_zone=mycache:10m use_temp_path=off; 
    limit_conn_zone $binary_remote_addr zone=addr:10m; 
    server { 
     listen  80; 
     server_name localhost; 

    access_log off; 

     error_page 500 502 503 504 /50x.html; 
     location = /50x.html { 
      root html; 
     } 

    open_file_cache max=10000 inactive=30s; 
    open_file_cache_valid 60s; 
    open_file_cache_min_uses 5; 
    open_file_cache_errors on; 

    client_body_buffer_size 16K; 
    client_header_buffer_size 1k; 
    client_max_body_size 8m; 
    large_client_header_buffers 2 1k; 

     location/{ 
     proxy_cache mycache; 
     proxy_max_temp_file_size 1924m; 
     slice    100m; 
     proxy_cache_key $host$uri$slice_range; 
     proxy_set_header Range $slice_range; 
     proxy_http_version 1.1; 
     proxy_ignore_headers X-Accel-Expires Expires Cache-Control Set-Cookie; 
     proxy_cache_valid any 1d; 
     limit_conn addr 5; 
     proxy_pass http://domain2.com/; 
     secure_link $arg_md5,$arg_expires; 
     secure_link_md5 "secret$secure_link_expires$uri"; 

     if ($secure_link = "") { return 403; } 
       if ($secure_link = "0") { return 410; } 
     } 

    } 

} 
+0

Installez la version 'nginx-debug' et ajoutez' error_log /tmp/nginx.error.log debug; 'à votre bloc de localisation et vous verrez beaucoup plus de détails des journaux de ce qui se passe –

+0

Merci. Il s'est avéré que 'proxy_cache_valid' n'est pas la directive pour décider de l'heure d'expiration du cache. Dans 'proxy_cache_path' j'ai ajouté' inactive = 3h', tout fonctionne bien maintenant. –

+0

Un grand merci pour le partage, ajoutez-le comme réponse et acceptez-le :-) –

Répondre

0

J'ai trouvé une réponse: Il est avéré que proxy_cache_valid n'est pas la directive de décider de la date d'expiration du cache. En proxy_cache_path j'ai ajouté inactive=3h, tout fonctionne bien maintenant.