mod_proxy到同一服务器中的另一个目录/用户?

时间:2014-02-16 07:32:09

标签: apache mod-proxy

我目前有一个小团队(2人)在我的网站项目中工作:

http://www.example.com/one/

我希望能够为未来的项目分配更多的团队,例如项目2的团队2:

http://www.example.com/two/

有点像Microsoft.com这样的大型企业站点正在构建和管理,不同团队的不同子目录(项目)。每个团队都有权将自己的项目作为根域的子目录运行和管理。

经过一些搜索,我找到了Apache的mod_proxy模块。这似乎是一个完美的契合。但是,由于我目前只有一个团队,或者可能有更多团队的其他项目,但总体流量不是需要一个全新的其他服务器,我的问题是,如何将请求转发到同一个目录中的另一个目录服务器

我知道我可以在不同用户下设置不同的目录,但我想在流量实际起飞时轻松扩展,所以我更喜欢使用mod_proxy,因为我可以在需要时添加更多服务器。

ProxyRequests Off
ProxyPass /foo http://internal/bar
ProxyPassReverse /foo http://internal/bar

其中内部/栏位于 / home / team1 / public_html

这可能吗?如何实现这一目标?

或者根据我的需要,有没有什么方法比mod_proxy方法更好?

1 个答案:

答案 0 :(得分:0)

有几种方法可以做到这一点但你可能不必使用反向代理,除非你热衷于在不同的端口/主机名上拥有项目并且不希望用户知道。其他明智的只是使用Alias

  1. 如果使用mod_proxy,您可能希望将reverseproxy指令放在www.example.com vhost条目中,您还可以为其指定文档根目录。然后为每个项目设置更多vhost,例如one.example.com。每个vhost都可以指定不同的DocumentRoot。请注意,您可以通过Redirect permanent完成类似于reverseproxy的操作但是这需要为子域设置dns。使用mod_proxy解决方案,您只需将子域添加到hosts文件即可。

  2. 使用此处提到的方法之一:https://httpd.apache.org/docs/1.3/urlmapping.html 别名指令,ScriptAliasMatch,带有AliasMatch的用户目录