Você terá que escrever um script que rastreie periodicamente o conteúdo interno que deseja armazenar em cache e faça com que o script rastreie cada URL atualizado.
No script, defina um cabeçalho HTTP (o cabeçalho real não importa) e, em seguida, use proxy_cache_bypass para forçar o nginx a recuperá-lo do upstream.
Exemplo: seu script de cache priming define o cabeçalho HTTP X-Really-Get-It: true
. No nginx.conf você irá configurar:
proxy_cache_bypass $http_x_really_get_it;
O nginx buscará o arquivo pelo upstream em vez do cache e, em seguida, armazenará o resultado em cache.
Se você estiver disposto a usar módulos nginx de terceiros, também poderá usar o módulo cache_purge . Parece bastante mal documentado, no entanto.