A-Record

更改主機,我可以將流量從 A 記錄轉發到另一個 ip 嗎?

  • August 31, 2017

我們在 ip1 上有很多第三方網站,他們有自己的 A 記錄要更新。

我們希望移動到一個新主機,並使用 ip2,雖然我們可以在我們控制的東西上將 DNS 更新為 ip2,但我們有 100 人左右會在他們弄清楚這一點時停機。

.. Apache 或 Nginx 有沒有辦法接收對 DomainA 的請求,並創建到 newserver 的重定向或隧道來提供資源?

如果它很慢(呃)我很好,關鍵是正常執行時間。

我見過 mod 代理等,但這是推薦的解決方案,還是有更高效的方法?

設置反向代理是理想的方式。如果新伺服器和舊伺服器之間的距離不是很大,則響應時間的變化非常小。

正如您所提到的,如果您使用的是 apache,mod_proxy 是一種可能的解決方案。Nginx 內置了反向代理,不需要任何進一步的 mods。

如果 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

引用自:https://serverfault.com/questions/871566