我们在服务器 #1 上运行了一个现有的 SPA 应用程序。我们构建了一个托管在 Kinsta 服务器(服务器 #2)上的 Wordpress 网站。市场营销部门希望启动新网站并将 50% 的流量引导至该网站,同时将 50% 的流量引导至旧 SPA。
我的解决方案:我使用 Cloudflare 设置了一个负载均衡器,以在两个服务器之间平等分配流量。这很有效。然后我需要让服务器 #1(现有的 Nginx 配置为反向代理)处理对 /wp-* 的所有请求并将它们发送到服务器 #2。
我当前的 Nginx 位置块
location ~* /wp-(.*)$ {
proxy_pass https://{{server #2 ip address}}/wp-$1$is_args$args;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
}
问题:虽然这种方法有点管用,但许多请求的文件都返回 404,而其他一些文件则加载正常。以下是一些示例 URL 及其状态代码。
https://{{domainname}}/wp-content/plugins/wordpress-seo/css/dist/wpseo-dismissible-1500.css 200 https://{{domainname}}/wp-content/plugins/elementor/assets/js/admin.min.js 404
我已检查这两个文件确实存在于服务器#2上。
有人能推荐一个可以解决这个问题的 Nginx 配置吗?我尝试过使用重写和 302(没有尝试 301),但这并不能解决问题。