1

假设我在端口 8080 上运行了 tomcat7,它有 2 个 webappswebappAwebAppB.

/api/[entity]两者都通过在自己的上下文中公开 API :例如

http://www.domain.com:8080/webappA/api/dog

http://www.domain.com:8080/webappB/api/cat

我想使用 apache httpd 实现的是在端口 80 上设置重写或 mod 代理以使其透明,而用户 url 中没有 webapp 上下文。

例如

http://www.mydomain.com/api/dog -> transparently calls http://www.domain.com:8080/webappA/api/dog

http://www.mydomain.com/api/cat -> transparently calls http://www.domain.com:8080/webappB/api/cat

我认为我想做的事情是可能的,但我找不到任何东西。

我什至不介意在我的配置中,我必须明确地说 delare/api/catwebappB/api/cat/api/dogwebappA/api/dog,如果我想webappA/api/mouse在将来添加,我将不得不编辑我的配置。

4

1 回答 1

1

应该可以使用mod_proxy反向代理,例如(未测试):

ProxyPass /api/dog http://localhost:8080/webappA/api/dog
ProxyPassReverse /api/dog http://localhost:8080/webappA/api/dog

ProxyPass /api/cat http://localhost:8080/webappB/api/cat
ProxyPassReverse /api/cat http://localhost:8080/webappB/api/cat

确保启用 Apache 的proxyproxy_http模块。

于 2013-09-02T17:10:28.300 回答