更改主机,我可以将流量从 A 记录转发到另一个 IP 吗?

更改主机,我可以将流量从 A 记录转发到另一个 IP 吗?

ip1 上有很多第三方网站,他们都有自己的 A 记录需要更新。

我们希望转移到一个新的主机并使用 ip2,虽然我们可以在我们控制的事物上将 DNS 更新为 ip2,但我们有大约 100 个人在弄清楚如何操作时会遇到停机时间。

.. Apache 或 Nginx 有没有办法接收对 DomainA 的请求,并创建重定向或隧道到新服务器来提供资源?

如果它很慢(较慢),我也没关系,关键是正常运行时间。

我已经见过 mod proxy 等,但这是推荐的解决方案吗,或者有更高效的方法吗?

答案1

设置反向代理是理想的方法。如果新服务器和旧服务器之间的距离不是很大,响应时间的变化就很小。

正如您所提到的,如果您使用的是 apache,mod_proxy 是一种可能的解决方案。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

如果您使用 apache 的 mod_proxy,则需要进行类似的设置。mod_proxy 的文档:https://httpd.apache.org/docs/2.4/mod/mod_proxy.html

相关内容