我有两个管理控制台wildlfy,我想通过反向代理访问它们两个。为此,我在httpd反向代理中进行了此配置:
<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时,重写器可以正常工作并重定向到管理控制台,但仅适用于第一个控制台。我认为问题出在我的重写器上,它重定向到相同的路径“ /”,所以我的反向忽略第二个重定向。我该如何解决?
谢谢。
答案 0 :(得分:0)
这是长话还是评论。这就是我的意思:
<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>
这样,通过链接将heach URL提供给另一个站点。 请注意,这远非完整的配置,仅仅是为了展示概念。我也无法测试它,因为我现在无法访问Apache。
对于粘性会话,您要将均衡器概念应用于单个成员,因此没有任何作用。粘性cookie是为了确保您将为每个请求返回相同的实例。这是您要求第一,您获得第一。如果您要求第二名,您将获得第二名。您不可能要求/wildfly-1-console
并被“代理”到http://wildfly-2.com。
现在,如果您想在http://wildfly-1.com和http://wildfly-2.com前面有一个单独的URL进行代理,则这是另一个问题(您需要做一些研究:-)