F5 负载均衡器能否接受将其锁定到其中一个节点的请求 header?
Can the F5 load balancer accept a request header that will lock it to one of the nodes?
我们今天使用 F5,但我不是专家。我们将它们用于我们的 IIS 网络场。
我想知道是否有 header 强制 F5 将所有流量发送到特定主机。或者是否有办法以编程方式添加此功能?
欢迎来到F5的世界!
您可以使用 cookie 持久性来实现这一点,这是被动的,BIG-IP 只是在发送到客户端的流量上添加一个 cookie,这样当下一个请求到来时,它可以将其映射回正确的服务器.您也可以使用源或目标 IP 持久性来执行此操作。
但是如果您希望 BIG-IP 检查 header 并将所有流量发送到特定主机,是的,您可以使用 iRule 来实现。您可以使用 BIG-IP 上的所有逻辑,或将 header 与服务器 IP 和端口插入的应用程序服务器的逻辑组合(假设格式为 x.x.x.x: y) 然后只使用 client-side iRule 来检查和引导。例如:
when HTTP_REQUEST {
if { [HTTP::header exists MY-SPECIFIC-HOST-HEADER] } {
set poolmem_ip [getfield [HTTP::header MY-SPECIFIC-HOST-HEADER] ":" 1]
set poolmem_port [getfield [HTTP::header MY-SPECIFIC-HOST-HEADER] ":" 2]
pool MYPOOL member $poolmem_ip port $poolmem_port
}
}
其中 MY-SPECIFIC-HOST-HEADER 是您决定调用 header 的任何内容,MYPOOL 是在 BIG-IP 上定义的以您的特定主机为成员的池。
我们今天使用 F5,但我不是专家。我们将它们用于我们的 IIS 网络场。
我想知道是否有 header 强制 F5 将所有流量发送到特定主机。或者是否有办法以编程方式添加此功能?
欢迎来到F5的世界!
您可以使用 cookie 持久性来实现这一点,这是被动的,BIG-IP 只是在发送到客户端的流量上添加一个 cookie,这样当下一个请求到来时,它可以将其映射回正确的服务器.您也可以使用源或目标 IP 持久性来执行此操作。
但是如果您希望 BIG-IP 检查 header 并将所有流量发送到特定主机,是的,您可以使用 iRule 来实现。您可以使用 BIG-IP 上的所有逻辑,或将 header 与服务器 IP 和端口插入的应用程序服务器的逻辑组合(假设格式为 x.x.x.x: y) 然后只使用 client-side iRule 来检查和引导。例如:
when HTTP_REQUEST {
if { [HTTP::header exists MY-SPECIFIC-HOST-HEADER] } {
set poolmem_ip [getfield [HTTP::header MY-SPECIFIC-HOST-HEADER] ":" 1]
set poolmem_port [getfield [HTTP::header MY-SPECIFIC-HOST-HEADER] ":" 2]
pool MYPOOL member $poolmem_ip port $poolmem_port
}
}
其中 MY-SPECIFIC-HOST-HEADER 是您决定调用 header 的任何内容,MYPOOL 是在 BIG-IP 上定义的以您的特定主机为成员的池。