Спасибо за подсказку, сделал так:

http {
...
    map $upstream_http_x_custom_header $custom_header {
        default    '';
        1          'custom_header=1';
    }
...
}

location @proxy {
...
add_header Set-Cookie $custom_header;
proxy_hide_header X-Custom-Header;
...
}

Не отдаёт из кеша кешированный адрес на первый запрос, следующие запросы
возвращают кешированную страницу, но с куки custom_header (видимо заголовок
X-Custom-Header также кешируется). Получается, add_header связан с процессом
кеширования, хотя казалось, что заголовок добавляется уже после выборки из
кеша.

proxy_ignore_headers не принимает X-Custom-Header

А задача не сложная, необходимо сообщить js-скриптам, что они работают с
кешированной страницей (без каких-либо дополнительных запросов к серверу).

Posted at Nginx Forum: 
https://forum.nginx.org/read.php?21,265155,265198#msg-265198

_______________________________________________
nginx-ru mailing list
[email protected]
http://mailman.nginx.org/mailman/listinfo/nginx-ru

Ответить