如何设置2个具有相同域的Express服务器

时间:2019-10-16 18:16:55

标签: express nginx

我有一个域:dev.example.com。

如果用户转到dev.example.com/service/api/,我想致电快递服务器。

如果用户转到dev.expample.com/lib/,我想呼叫另一个快递服务器。

当我在启用了站点/默认的站点中设置其他位置时,即使我在寻找/ lib /的URL中指定了URL,Nginx也只会与/ service / api联系。

我该如何解决?

1 个答案:

答案 0 :(得分:0)

您可以尝试将其添加到您的nginx.conf

upstream express_server_1 {
  server ip:port;
}

upstream express server_2 {
  server ip:port;
}

server {
  listen 80;
  listen 443; # if https available

  server_name dev.example.com

  location /service/api {
    proxy_set_header X-Real-IP $remote_addr;
    proxy_set_header Host $server_name;
    proxy_pass http://express_server_1; #https://express_server_1 if https available
  }

   location /lib {
     proxy_set_header X-Real-IP $remote_addr;
     proxy_set_header Host $server_name;
     proxy_pass http://express_server_2;
   }
}

如果您确实正在运行两台服务器,并且需要代理传递给它们,这可能会起作用。关于(不)删除前缀路径等,我无法为您提供更准确的答案,因为您的问题确实很模糊,没有附加配置。