基于URL的拆分webapps和反向代理

时间:2016-04-01 00:21:57

标签: web-applications reverse-proxy

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

首先是用户个人资料

第二是主页

如何将这些网络应用与一个组合的网络应用相结合?

像:

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

  • Nginx的
  • 清漆
  • 的Apache
  • HAProxy的

我应该使用哪种方法?

  • 重定向
  • 重写
  • 或另一种方法?

1 个答案:

答案 0 :(得分:0)

解决。以下是诀窍。

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;
        }        
    }
}