-
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_SECRET
com1010
neste caso. Este mapa é compartilhado para todos os servidores na configuração. -
Anexe a seção
server
com 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_root
do atualserver
. -
Em
location
seçõ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-location
prefixo eif
nunca será inserido.