Esse é o comportamento esperado. As diretivas add_header , bem como todas as outras diretivas do tipo array no nginx, são herdadas do nível anterior se e somente se não houver diretivas add_header definidas no nível atual.
Se você quiser que o nginx adicione todos os cabeçalhos no location / , será necessário listá-los todos em location / , ou seja,
location / {
add_header Name1 Value1;
add_header Name2 Value2;
add_header Name3 Value3;
add_header Name4 Value4;
return 200 "";
}
Se você precisar de uma maneira de listar grandes subconjuntos de cabeçalhos em um único lugar, você pode usar a diretiva include para isso. Veja os documentos aqui .