基于URL的拆分Web应用程序和反向代理



假设我有两个webapp在同一台机器上运行,但不同的堆栈和代码库。

首次用于用户配置文件

  • http://127.0.0.1:8000/profile

第二个是主页

  • http://127.0.0.1:30000/

如何将这些web应用程序组合为一个组合的web应用程序

类似:

  • http://local.site/profile
  • http://local.site/

我需要反向代理/网络服务器吗

  • Nginx
  • 清漆
  • Apache
  • Haproxy

我应该使用哪种方法?

  • 重定向
  • 重写
  • 还是其他方法

已解决。下面就是诀窍。

http {
    upstream home {
        server 172.17.0.3;
        server 172.17.0.5;
        server 172.17.0.7;
    }
    upstream about {
        server 172.17.0.4;                               
        server 172.17.0.6;                               
    }
   # (...)
    server {
        listen 80;
        location / {
            proxy_pass http://home;
            proxy_redirect     off;
            proxy_set_header   Host $host;
            proxy_set_header   X-Real-IP $remote_addr;
            proxy_set_header   X-Forwarded-For $proxy_add_x_forwarded_for;
            proxy_set_header   X-Forwarded-Host $server_name;
        }
        location /about.html {
            proxy_pass http://about;
            proxy_redirect     off;
            proxy_set_header   Host $host;
            proxy_set_header   X-Real-IP $remote_addr;
            proxy_set_header   X-Forwarded-For $proxy_add_x_forwarded_for;
            proxy_set_header   X-Forwarded-Host $server_name;
        }        
    }
}

最新更新