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

Смена хоста, могу ли я перенаправить трафик с записей A на другой ip?

У нас есть много сторонних сайтов на ip1, у которых есть свои собственные записи A.

Мы хотим переехать на новый хост и использовать ip2, и хотя мы можем обновить DNS до ip2 для вещей, которые мы контролируем, у нас есть около 100 человек, у которых будет время простоя, пока они это выяснят.

.. есть ли способ для Apache или Nginx получить запрос на DomainA и создать перенаправление или туннель к новому серверу для обслуживания ресурсов?

Я в порядке, если он медленный (э-э), главное - время безотказной работы.

Я видел мод-прокси и т. Д., Но это рекомендуемое решение или есть более производительный способ?

Настройка обратного прокси-сервера - идеальный способ. Если расстояние между новым и старым сервером невелико, изменение времени отклика будет минимальным.

Как вы упомянули, mod_proxy - одно из возможных решений, если вы используете apache. Nginx имеет встроенный обратный прокси-сервер и не требует дополнительных модов.

Если вашим решением будет nginx, настройка будет выглядеть так:

upstream newserver {
  server YourNewIpHere:port; # EDIT THIS
}

server {
  server_name domains that needs to be forwarded space delimited; # EDIT THIS
  listen 80;  # for http
  listen [::]:443; # for ssl

  proxy_set_header X-Real-IP $remote_addr; # this passes the actual user IP to the new server
  proxy_set_header Host $host; # same for the host
  proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
  proxy_set_header X-Forwarded-Proto $proxy_x_forwarded_proto;

  location / {
    proxy_pass newserver;
  }
}

Официальный гид: https://www.nginx.com/resources/admin-guide/reverse-proxy/

а на принимающем сервере nginx вам необходимо настроить его так, чтобы перенаправляемый адрес был реальным. Синтаксис для него выглядит так:

set_real_ip_from  IpOfOldServer; # EDIT THIS
real_ip_header    X-Forwarded-For;

Документы: http://nginx.org/en/docs/http/ngx_http_realip_module.html

Аналогичную настройку необходимо выполнить, если вы используете mod_proxy для apache. Документы для mod_proxy: https://httpd.apache.org/docs/2.4/mod/mod_proxy.html