Цель убрать нагрузку на сервер кэшируя страницы на длительный срок и при изменениях обновлять затрагиваемые страницы. где то мельком нарыл что nginx для этих целей не подходит
В данный момент при любых больших параметрах кэш не держится больше 20ти минут
proxy_cache_valid 1d;
proxy_cache_path keys_zone:
proxy_cache_path /usr/local/etc/nginx/cache levels=1:2 keys_zone=cache:1440m max_size=300G;
proxy_cache_path /usr/local/etc/nginx/ssi_cache levels=1:2 keys_zone=ssi_cache:1440m max_size=1G;
proxy_temp_path /usr/local/etc/nginx/proxy 1 2;
proxy_ignore_headers Expires Cache-Control;
proxy_cache_use_stale error timeout invalid_header http_502;
proxy_cache_bypass $http_x_update_cache;
server {
...
listen 80;
location /get_user_info/ {
proxy_pass http://backend/ssi/get_user_info.php;
proxy_pass_header Cookie;
proxy_cache ssi_cache;
proxy_cache_valid 200 3h;
proxy_cache_use_stale updating error timeout invalid_header http_500 http_502 http_503 http_504 http_404;
proxy_cache_key "$scheme$proxy_host$uri$is_args$cookie_session";
}
location / {
proxy_cache cache;
proxy_cache_methods POST;
proxy_cache_key "$scheme$host$request_uri$request_body";
proxy_cache_valid 1d;
proxy_cache_valid 404 1m;
proxy_pass http://backend;
proxy_set_header Host $host;
proxy_next_upstream error timeout invalid_header http_500;
proxy_connect_timeout 120;
proxy_read_timeout 180;