Страница обслуживания с nginx для одного доменного имени среди других - PullRequest
0 голосов
/ 02 ноября 2010

У меня есть железнодорожное приложение, которое обслуживает несколько доменов и используется nginx & passenger.Мне нужно перевести один домен в режим обслуживания, в то время как другой все еще работает как обычно.Вот мой конфиг:

server {
    listen 80;
    server_name domain1.com domain2.com domain3.com domain4.com;
    error_page 503 http://$host/maintenance.html;

    location /maintenance.html {
      # Allow requests
    }

    location / {
        root /var/www/myapp/public;   # <--- be sure to point to 'public'!
        error_page 503 http://$host/maintenance.html;
        passenger_enabled on;
        rails_env development;
        passenger_use_global_queue on;

        if (-f /var/www/myapp/public/maintenance.html) {
            return 503;
        }
    }
}

Приведенный выше конфиг вызовет обслуживание всех доменов.Тем не менее, я хочу поставить domain1.com в режиме обслуживания.Как бы я этого достиг?

1 Ответ

0 голосов
/ 02 ноября 2010

Вы можете добавить еще одну запись сервера для сервера "domain1.com", который обслуживает запрос только для этого домена. как:

server {
listen 80;
server_name domain1.com 
error_page 503 http://$host/maintenance.html;
root /your/root/directory/
if (-f $document_root/maintenance.html){
    rewrite  ^(.*)$  /maintenance.html last;
     break;
      }

location /maintenance.html {
  # Allow requests
}}

Вы должны обеспечить следующее

  1. «domain1.com» должен быть удален с предыдущего сервера запись
  2. страница обслуживания.html должна быть присутствует в / your / root / directory /
...