【问题标题】:Url rewriting in Apache HTTPD with mod_cluster使用 mod_cluster 在 Apache HTTPD 中重写 URL
【发布时间】:2015-08-24 03:02:06
【问题描述】:

我是 Apache 新手。我有 2 个 jboss(Jboss 为 7.1.1)和 apache httpd 服务器。我正在使用 mod_cluster 进行负载平衡。我希望对用户隐藏 jboss url,并希望向用户显示干净的 url。

例如

www.mydomain.com 将拥有我的静态网站。
subdomain.mydomain.com 应该转到 mydomain.com:8080/myapp
subdomain.mydomain.com/mypage.xhtml 应该转到 mydomain.com:8080/myapp/mypage.xhtml
sumdomain.mydomain.com/myservice 应该转到 mydomain.com:8080/myapp/service.xhtml?name=myservice

我尝试了很多事情都没有成功。有人可以告诉我是否可能。如果可能的话,我应该做些什么。

非常感谢。

问候。

【问题讨论】:

    标签: apache mod-rewrite jboss mod-cluster


    【解决方案1】:

    你不能做你想做的事的原因是因为你试图同时解决两个截然不同的问题。将它们分开并单独解决。

    负载均衡器:我通常使用 Proxy 作为负载均衡器。例如

    <Proxy balancer://mycluster>
    BalancerMember http://wn1.seco.com
    BalancerMember http://wn2.seco.com
    </Proxy>
    ProxyPass /test balancer://mycluster
    

    重定向和转发: 使用 mode_rewrite 将特定 URL 重定向到不同的 URL。

    RewriteEngine  on
    RewriteRule    "^/foo\.html$"  "/bar.html" [PT]
    

    【讨论】:

    • 感谢@user2984552 的及时回复。我可以使用 Proxy 而不是 mod cluster 来实现我想要实现的目标吗?
    • 是的,你可以。阅读更多关于使用 apache 作为负载均衡器以及如何使用 apache 重定向特定 url pathern 的信息。重定向和转发之间存在差异。确保你知道你需要哪一个。
    【解决方案2】:

    您可以使用 mod_cluster 并且仍然可以控制 ProxyPass 指令。例如。 CreateBalancers 1 然后您可以自己创建代理 ProxyPassMatch ^/static/ ! ProxyPass / balancer://qacluster stickysession=JSESSIONID|jsessionid nofailover=on ProxyPassReverse / balancer://qacluster ProxyPreserveHost on。见the relevant docs for mod_cluster 1.3.1.Final

    【讨论】:

      猜你喜欢
      • 2019-04-08
      • 2016-12-07
      • 1970-01-01
      • 2019-02-08
      • 2014-06-06
      • 2017-10-21
      • 1970-01-01
      • 2014-12-30
      • 1970-01-01
      相关资源
      最近更新 更多