Substituindo sites individuais hospedados no NGINX para mostrar uma página de manutenção

Substituindo sites individuais hospedados no NGINX para mostrar uma página de manutenção

Temos uma arquitetura na qual hospedamos vários sites no NGINX. Cada site NGINX tem sua própria configuração. Cada um desses sites aponta para uma base de código comum, mas aponta para um nome de domínio diferente e seu SSL associado.

O que queremos fazer durante a manutenção é mostrar uma página Maintenance.html comum assim que a solicitação da página for feita. Embora possamos acessar o arquivo website.conf de cada site e inserir uma regra de reescrita, não é uma solução completa - é mais um hack que estamos tentando evitar.

Gostaríamos de implementar isso no arquivo nginx.conf no nível raiz, onde qualquer solicitação que chega através de (443) deve ser interceptada (antes que seu próprio arquivo de configuração seja carregado) e redirecionado para uma página Maintenance.html comum.

Como isso pode ser alcançado no nível do arquivo nginx.conf?

Obrigado

Responder1

Você pode fazer uma edição única de todos os hosts (e não se esqueça de editar um modelo a partir do qual eles foram criados) e depois disso você nunca mais precisará editar todos eles.

Você cria um arquivo vazio, que pode ser chamado, por exemplo, de "all_vhosts_override". Você adiciona include "all_vhosts_override";próximo ao topo de cada definição de vhost, acima de tudo locatione aliasentradas.

Quando você precisa substituir algo em todos os vhosts de uma vez, você adiciona instruções nesse arquivo e recarrega o nginx. Todos os vhosts receberão configuração deste único arquivo, você não precisará atualizar suas configurações individuais. Basta limpar o arquivo de substituição vazio quando você fizer a manutenção e recarregar novamente.

informação relacionada