-
Na seção
http(fora de qualquer seçãoserver), verifique o usuário se ele é desenvolvedor:map $http_cookie $isDevHack { default ""; ~DEVELOPER_SECRET=1010 "/non-existed-location"; }O usuário é um desenvolvedor se tiver
DEVELOPER_SECRETcom1010neste caso. Este mapa é compartilhado para todos os servidores na configuração. -
Anexe a seção
servercom o manipulador de erros 503:error_page 503 @maintenance; location @maintenance { rewrite ^(.*)$ /maintenance-mode.html break; }maintenane-mode.htmlé uma página a ser exibida para usuários que não são desenvolvedores no modo de manutenção. O caminho do arquivo é relativo adocument_rootdo atualserver. -
Em
locationseções, que devem ser protegidas no modo de manutenção, adicione antes de qualquer regra de modo normal:if (-f "$isDevHack/home/site-home/maintenance") { return 503; }Se o usuário atual for um desenvolvedor, o nome do arquivo marcado será prefixado com
/non-existed-locationprefixo eifnunca será inserido.