Назад | Перейти на главную страницу

Nginx: читать временный файл кеша

я использую ngx_http_proxy_module с участием proxy_ignore_client_abort кэшировать файлы. Поэтому, когда клиент закрывает соединение, nginx продолжит копирование файла с бэкэнда на текущий сервер.

Но когда другой пользователь попытается получить этот файл (который все еще копирует), nginx перейдет на серверную часть, чтобы получить новую копию файла, и также попытается кэшировать его.

я могу использовать proxy_cache_lock чтобы предотвратить это. Но это плохая идея, потому что файл может быть очень большим, и у него будет много времени ждать, пока файл будет кэширован.

Как я могу сказать nginx, чтобы он прочитал этот временный файл и не ждал, пока файл будет кеширован?

Ты ищешь доставка устаревшего объекта кеша. Это можно сделать в случае ошибки, тайм-аута серверной части или во время обновления.

proxy_cache_use_stale updating error timeout;