redirectTomcat传出stream量

如何通过Url模式redirect来自Tomcat服务器的所有传出stream量?

例如:将所有来自tomcat的请求redirect到

  • http://my.backend.url:8080 / my-serviceredirect到http://a.backend.url:8080 / my-service-a
  • 和http://my.backend.url:8080 / my-service2redirect到http://b.backend.url:8080 / my-service-b

它仅用于Windows机器上的开发目的。 我不想修改我的主机文件,因为我仍然想要访问浏览器中的所有内容。

有没有办法像这样configurationtomcat?

编辑 :澄清:

目前所有的服务运行在一个后端服务器,但我想部署在不同的服务器上。 所以基于/我想要路由到另一台服务器后的url部分。

即:

  • / service1 – > server1 / service
  • 和/ service2 – > server2 / service

您可以在tomcat之前代理请求,例如,在运行tomcat的同一个web服务器(显然是在不同的端口上)上安装一个apache服务器。 为apache安装mod_proxy并正确地redirect到您的前端或后端服务器。

这里是一个Apacheconfiguration的例子:

ProxyPass / my-service http://a.backend.url:8080 / my-service-a
ProxyPassReverse / my-service http://a.backend.url:8080 / my-service-a

请记住在apache中加载正确的模块,你可以参考文档寻找代理 – 如何apache。

使用属性来configuration使用哪个后端服务器。 在您的笔记本电脑上configurationtomcat以使用开发后端。 您可以提供生产后端的默认属性值,也可以在生产服务器上设置适当的后端。 这为您configuration分段和性能testing环境提供了极大的灵活性。

如果您有多个后端服务,请考虑使用每个服务的属性。 这提供了在多个环境中部署使用一个服务同时部署其他服务的能力。 在服务负载需要一个或多个专用服务器的情况下,它也允许扩展服务。

我在本地机器上安装了一个负载平衡器(这里是nginx),并将其指定为后端服务器。

configuration看起来像这样:

# This routes all traffic to the LB to a default backend server location / { proxy_pass http://my.backend.url:8080; proxy_redirect http://my.backend.url:8080/ /; proxy_read_timeout 60s; proxy_set_header Host $host; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; } # This routes all traffic under "/my-service" to the different backend: # a.backend.url:8080/my-service-a location /my-service { proxy_pass http://a.backend.url:8080/my-service-a proxy_redirect http://a.backend.url:8080/my-service-a/ /; proxy_read_timeout 60s; proxy_set_header Host $host; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; }