从一个 nginx 重定向到另一个

从一个 nginx 重定向到另一个

我有两台装有 NGINX 的服务器(A 和 B)。服务器 A 为旧网站提供服务,服务器 B 为新网站提供服务。我更新了 DNS,但速度很慢:在我的办公室,我仍然可以看到我的旧网站:

子域名.site.com

我如何才能将服务器 A 对这个特定子域的所有请求重定向到服务器 B?

现在它们都在 NGINX 中处理:

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

答案1

由于它们都使用相同的 server_name,因此您无法进行简单的重定向。

不过,您可能可以在旧服务器上按照以下步骤执行某种代理:

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 等所需的任何配置。

相关内容