Спасибо!<br><br>По логике вашего конфига разобрался. Не хватало директивы "allow all". В итоге получился такой сниппет, который можно включить в любой server {...}:<br><br>allow <a href="http://1.2.3.0/24">1.2.3.0/24</a>;<br>
deny all;<br><br>error_page 403 = @maint;<br>location @maint {<br>    allow all;<br>    proxy_set_header <a href="http://maint.server.com">maint.server.com</a>;<br>    proxy_pass <a href="http://main.server.com">http://main.server.com</a>;<br>
}<br><br><br><br><div class="gmail_quote">13 сентября 2012 г., 14:27 пользователь Alexey V. Karagodov <span dir="ltr"><<a href="mailto:kav@karagodov.name" target="_blank">kav@karagodov.name</a>></span> написал:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
<div style="word-wrap:break-word">у меня работает вот так: <div><br></div><div><div>www:~ # cat /opt/nginx/conf/include/location/error_page_lite</div><div> location @error_page_403 {</div><div> include  include/template/no-logging;</div>
<div> satisfy  any;</div><div> allow    all;</div><div> root     /local/www/vhosts/service/error;</div><div> try_files        /$host/403.html /$host/index.html /403.html /index.html =403;</div><div> }</div><div> location @error_page_497 {</div>
<div> include  include/template/no-logging;</div><div> root     /dev/null;</div><div> rewrite  ^       <a href="https://$host$request_uri?" target="_blank">https://$host$request_uri?</a>      permanent;</div><div> }</div>
<div> location @error_page_lite {</div><div> include  include/template/no-logging;</div><div> root     /local/www/vhosts/service/error;</div><div> try_files        /$host/index.html /index.html =404;</div><div> }</div><div>
www:~ # </div><div><br></div><div><br></div><div><div><div class="h5"><div>On 13.09.2012, at 14:48, Daniil <<a href="mailto:dan@onliner.by" target="_blank">dan@onliner.by</a>> wrote:</div><br></div></div><blockquote type="cite">
<div><div class="h5">Здравствуйте,<br><br>При проведении технических работ на сайте обычно пользовались следующей конструкцией:<br><br>allow <a href="http://1.2.3.0/24" target="_blank">1.2.3.0/24</a>;<br>deny all;<br><br>
потом заходили с <a href="http://1.2.3.0/24" target="_blank">1.2.3.0/24</a> и тестировали. Все остальные посетители в это время видели "403 Forbidden".<br>
Затем решили добавить страницу "Сайт временно недоступен. Извините..."<br><br>При добавлении строк:<br><br>error_page 403 = @maint;<br>location @maint {<br>    proxy_set_header <a href="http://maint.server.com/" target="_blank">maint.server.com</a>;<br>

    proxy_pass <a href="http://maint.server.com/" target="_blank">http://maint.server.com</a>;<br>}<br><br>nginx все равно возвращает "403 forbidden".<br><br>Однако, если сделать например так:<br><br>location @maint {<br>
    return 302 <a href="http://maint.server.com/" target="_blank">http://maint.server.com</a>;<br>
}<br><br>то происходит редирект.<br><br>Скажите, в чем ошибка? Или это особенность реализации директивы deny и error_page?<br><br>Версия nginx 1.3.6<br></div></div>
_______________________________________________<br>nginx-ru mailing list<br><a href="mailto:nginx-ru@nginx.org" target="_blank">nginx-ru@nginx.org</a><br><a href="http://mailman.nginx.org/mailman/listinfo/nginx-ru" target="_blank">http://mailman.nginx.org/mailman/listinfo/nginx-ru</a></blockquote>
</div><br></div></div><br>_______________________________________________<br>
nginx-ru mailing list<br>
<a href="mailto:nginx-ru@nginx.org">nginx-ru@nginx.org</a><br>
<a href="http://mailman.nginx.org/mailman/listinfo/nginx-ru" target="_blank">http://mailman.nginx.org/mailman/listinfo/nginx-ru</a><br></blockquote></div><br><br clear="all"><br>-- <br>С уважением,<br>Даниил Болсун<br>системный администратор<br>
Onliner.by<br>тел/факс. +375 17 2271696<br>тел. +375 29 7755080<br>