Назад | Перейти на главную страницу

Перенаправление с одного nginx на другой

У меня есть два сервера (A и B) с NGINX. Сервер A обслуживает старый сайт, а сервер B обслуживает новый сайт. Я обновил свой DNS, но это довольно медленно: в моем офисе я все еще вижу свой старый сайт:

subdomain.site.com

Как я могу перенаправить все запросы с сервера A для этого конкретного поддомена на сервер B?

Теперь они оба обрабатываются в NGINX:

server {
  listen 80;
  server_name subdomain.site.ru;
  root /var/www/subdomain/public;
  passenger_enabled on;
}

Поскольку они оба используют одно и то же имя_сервера, вы не можете выполнить простое перенаправление.

Тем не менее, вы, вероятно, можете использовать какой-то прокси на старом сервере:

upstream newserver {
  server 172.16.0.1:80;  # this is new server, by IP address
}

server {
  listen 80;
  server_name subdomain.site.ru;
  location / {
    proxy_set_header Host $host;
    proxy_pass http://newserver;
  }
}

Итак, в основном настройте старый сервер так, чтобы он передавал все запросы новому серверу. Конечно, добавьте любую конфигурацию, которая вам понадобится для client_max_body_size и всего такого.