首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >ProxyPass重定向到相同路径

ProxyPass重定向到相同路径
EN

Stack Overflow用户
提问于 2018-09-09 20:36:04
回答 1查看 880关注 0票数 0

我有两个管理控制台wildlfy,我想通过反向代理访问它们。为此,我在httpd反向代理中执行了以下conf:

代码语言:javascript
复制
<VirtualHost X.X.X.X:80>
ServerName reverse.com

ProxyPreserveHost On
RewriteEngine On

<Proxy balancer://wildfly-1>
BalancerMember http://wildfly-1.com route=wildfly-1 disablereuse=On keepalive=On retry=20
ProxySet lbmethod=bybusyness
</Proxy>

RewriteRule ^/wildfly-1-console/?$ / [R]
ProxyPass / balancer://wildfly-1/ stickysession=JSESSIONID nofailover=Off
ProxyPassReverse / balancer://wildfly-1/

<Proxy balancer://wildfly-2>
BalancerMember http://wildfly-2.com route=wildfly-2 disablereuse=On keepalive=On retry=20
ProxySet lbmethod=bybusyness
</proxy>

RewriteRule ^/wildfly-2-console/?$  / [R]
ProxyPass / balancer://wildfly-2/ stickysession=JSESSIONID nofailover=Off
ProxyPassReverse / balancer://wildfly-2/

</VirtualHost>

我的问题是,当我输入http://X.X.X.X:80/wildlfy1或2时,它可以正常工作,重写器可以完美地工作,并重定向到管理控制台,但只适用于第一个控制台。我认为问题出在我的重写器规则上,它重定向到相同的路径"/",所以我的反向操作忽略了第二个重定向。我该如何解决这个问题呢?

谢谢。

EN

回答 1

Stack Overflow用户

发布于 2018-09-10 08:19:29

这是太长或太长的评论。这就是我的意思:

代码语言:javascript
复制
<VirtualHost X.X.X.X:80>
    ServerName reverse.com

    ProxyPreserveHost On
    RewriteEngine On

    ProxyPass        /wildfly-1-console http://wildfly-1.com
    ProxyPassReverse /wildfly-1-console http://wildfly-1.com

    ProxyPass        /wildfly-2-console http://wildfly-2.com
    ProxyPassReverse /wildfly-2-console http://wildfly-2.com
</VirtualHost>

这样,每个URL都是通过代理提供给另一个站点的。请注意,这远不是一个完整的配置,它只是为了展示概念。我也无法测试它,因为我现在无法访问Apache。

至于粘性会话,您将平衡器概念应用于单个成员,因此它没有任何作用。粘性cookie是为了确保每次请求都返回到相同的实例。这是你要的no1,你得到的是no1。如果你请求no2,你得到的是no2。您不可能请求/wildfly-1-console并被“代理”到http://wildfly-2.com

现在,如果您想要在http://wildfly-1.comhttp://wildfly-2.com之前使用一个单独的URL代理,这是另一个问题的主题(好吧,您的一些研究:-)

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/52244600

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档