Как я могу возвратить 503 состояния в апаче, не вызывая внешние сценарии

Мы делаем что-то подобное этому в наших удаленных офисах. Во-первых, создайте группу для psuedo-администраторов в домене. В AD управлении делегата к OU's они, возможно, должны справиться (создайте/удалите учетные записи или возможно просто измените пароли или ничто вообще).

Затем Групповая политика использования, чтобы добавить Вашу группу к группе локальных администраторов на рабочих станциях и серверах с помощью Computer\Windows Settings\Security Settings\Restricted Groups . Не развертывайте эту политику на Контроллерах домена OU или OUs, содержащий Ваши серверы.

Это, очевидно, зависит от конфигурирования AD способом для разделения клиентских систем от серверов.

26
задан 12 August 2009 в 06:40
3 ответа

Это служит каждому запросу статическая страница содержания наряду с 503 состояниями.

RedirectMatch 503 ^/(?!holding\.html)
ErrorDocument 503 /holding.html
Header always set Retry-After "18000"

RedirectMatch используется для отрицания самой страницы содержания, которая иначе создала бы бесконечный цикл.

mod_header используется для установки Повторной попытки - После заголовка так, чтобы можно было сказать ботам Google/другого и т.д., что необходимо создать резервную копию после 18 000 секунд (5 часов) в этом примере. Вы можете sudo ap2enmod header активировать mod_header (который требуется для директивы Заголовка).

32
ответ дан 28 November 2019 в 20:09

Для создания режима техобслуживания более гибким установите 503, когда специальный файл будет существовать, крыло:

RewriteEngine on
RewriteCond %{DOCUMENT_ROOT}/.maintenance -f
RewriteRule .* - [R=503]

ПРИМЕЧАНИЕ: местоположение DOCUMENT_ROOT может отличаться между httpd 2.2 и 2.4

Этот путь все, что необходимо сделать, "коснуться/path/to/docroot/.maintenance", и сайт немедленно начнет возвращаться 503. Затем для создания всего этого purdy создайте пользовательскую приятно отформатированную ошибочную страницу HTML и добавьте это к файлу конфигурации корректного апачского сервера:

ProxyErrorOverride on
ErrorDocument 503 /error/503.html

И для бонусных очков, если Вы имеете несколько веб-серверов или делаете местоположение .maintenance в совместно используемой файловой системе, или еще для большего количества бонусных очков:

pdsh -w $web1_ip,$web2_ip,$web3_ip "sudo touch /path/to/docroot/.maintenance"

преимущество создания базирующегося файла режима техобслуживания состоит в том, что это работает, когда Ваше приложение не делает, это быстро и просто, и для frontend, кэширующего прокси легче обработать, потому что можно обработать весь бэкенд 503 одним махом.

Источники:

0
ответ дан 28 November 2019 в 20:09

Попробовать

Redirect 503 / /

Из http://httpd.apache.org/docs/2.2/mod/mod_alias.html#redirect:

Другие коды состояния могут быть возвращены путем предоставления числового кода состояния как значение состояния. Если состояние между 300 и 399, аргумент url должен присутствовать, иначе это должно быть опущено. Обратите внимание, что состояние должно быть известно коду Apache (см. функцию send_error_response в http_protocol.c).

Дополнительное Примечание: Это отобразит принимать значение по умолчанию/настраивать ErrorDocument для 503 Ошибок.

7
ответ дан 28 November 2019 в 20:09
  • 1
    Спасибо david. mod_alias isn' t, где я ожидал находить, что ответ, но это, кажется, делает задание. –  dan mackinlay 13 August 2009 в 19:37
  • 2
    да, Перенаправление isn' t действительно правильный глагол, для какой you' выполнение ре :) –  David Pashley 13 August 2009 в 19:58
  • 3
    Перенаправьте 503 it' s пропавшие без вести одного argoment, пути URL, который всегда обязателен. URL, с другой стороны, должен быть опущен, если перенаправленный код не 300-399 –   18 May 2010 в 18:32

Теги

Похожие вопросы