我需要将任何 http 请求从我的旧服务器 IP 转发到我的新 IP。
我迁移了服务器,有几个域的 TTL 很高,我无法更新。是否可以从运行 centos/whm/php/apache 2+ 的一台服务器接收所有 HTTP 请求并将其转发到新 IP?
因为我有数百个域,所以我更倾向于一种解决方案,即在 Linux 机器上运行一个应用程序,该应用程序会自动将请求推送到新的机器。
有什么想法吗?
我尝试使用 IP 表并使用预路由链转发所有传入连接,但这似乎仅适用于转发到内部 IP 地址,而新 IP 是外部的。
答案1
基本上,您需要在旧 IP 上进行设置nginx
。并且您应该更改其配置以使其充当反向代理,如下所示:
server {
listen 80 default;
server_name localhost;
access_log /var/log/nginx/localhost.access.log;
location / {
proxy_pass http://your_new_ip_here:80/;
proxy_redirect off;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $remote_addr;
client_max_body_size 10m;
client_body_buffer_size 128k;
proxy_connect_timeout 90;
proxy_send_timeout 180;
proxy_read_timeout 180;
charset utf-8;
}
}