使用modjk将特定请求重定向到集群中的节点

时间:2016-08-20 20:32:37

标签: apache httpd.conf mod-jk

我创建了一个集群(负载均衡器),它由两个节点node1和node2组成,现在我希望node2处理特定请求,如/ context / heavyservice1,/ context / vheavyservice以及node1和node2处理/ context / service (工作正常),我的问题是我如何配置modjk,以便节点2将处理一些服务。

以下是我配置的一部分

worker.list= lbNode
worker.lbNode.type=lb


worker.node1.type=ajp13

worker.node1.port=8009

worker.node1.host=server1

worker.node2.type=ajp13

worker.node2.port=8009

worker.node2.host=server2

worker.lbNode.balance_workers=node1,node2

2 个答案:

答案 0 :(得分:1)

你可以这样测试:

worker.list=lbNode,node1,node2

worker.node1.type=ajp13
worker.node1.port=8009
worker.node1.host=server1

worker.node2.type=ajp13
worker.node2.port=8009
worker.node2.host=server2

worker.lbNode.balance_workers=node1,node2
worker.lbNode.type=lb

然后你必须设置映射。您可以将映射设置为同一虚拟主机(或默认主机中的不同节点,而不创建任何虚拟主机)。只需使用JKMount和JKUnMount来满足您的要求

JKMount /context lbNode
JKMount /context/* lbNode
JKUnMount /context/heavyservice1 lbNode
JKUnMount /context/vheavyservice lbNode
JKMount /context/heavyservice1 node2
JKMount /context/vheavyservice node2

答案 1 :(得分:0)

  • 您可以设置其他VirtualHosts以直接路由到特定节点。

例如:

    NameVirtualHost *:80
<VirtualHost *:80>
  ServerName node1.com
  JkMount /application node1
</VirtualHost>
<VirtualHost *:80>
  ServerName node2.com
  JkMount /application node2
</VirtualHost>