Topic
  • 9 replies
  • Latest Post - ‏2013-05-10T23:15:41Z by malpuin
SystemAdmin
SystemAdmin
6772 Posts

Pinned topic Load Balancer check health problem

‏2013-04-03T14:19:23Z |
Hi,

I configured a load balancer in Datapower XI50 with a health check that uses a soap request.
The problem is that when Datapower sends the message to the backend servers, it modifes the http header "Host", changing the original ip port x.x.x.x:80 to x.x.x.x:20480, but sends de message to the correct ip port (x.x.x.x:80).
I need Datapower to set the http header to the original ip port without modifying it because the backend makes a validation.

this happend to anyone before?

thanks.
Updated on 2013-04-05T14:32:42Z at 2013-04-05T14:32:42Z by swlinn
  • swlinn
    swlinn
    1395 Posts

    Re: Load Balancer check health problem

    ‏2013-04-03T18:23:24Z  
    I'm petty sure this is standard behavior by any http client that the backend host name used should be in Host http header, so in this case incoming would be the IP (or DNS name) of the Appliance originally, but will be changed to the IP (or DNS name) of your backend server. If you need the original host header that came into DataPower, the service could copy it into another new header, eg, X-Forwarded-Host perhaps??

    Regards,
    Steve
  • SystemAdmin
    SystemAdmin
    6772 Posts

    Re: Load Balancer check health problem

    ‏2013-04-04T13:00:03Z  
    • swlinn
    • ‏2013-04-03T18:23:24Z
    I'm petty sure this is standard behavior by any http client that the backend host name used should be in Host http header, so in this case incoming would be the IP (or DNS name) of the Appliance originally, but will be changed to the IP (or DNS name) of your backend server. If you need the original host header that came into DataPower, the service could copy it into another new header, eg, X-Forwarded-Host perhaps??

    Regards,
    Steve
    Hi Steve, thanks for the quick reply.

    The problem is with the health check of the load balancer members and not with the incoming request.
    Every minute, Datapower check if the load balancer members are active by sending a soap request, and in this request is when the problem (http head change) occurs.

    if you need more information about the problem please tell me.

    Thanks in advance.

    Mauricio A.
  • swlinn
    swlinn
    1395 Posts

    Re: Load Balancer check health problem

    ‏2013-04-04T13:24:37Z  
    Hi Steve, thanks for the quick reply.

    The problem is with the health check of the load balancer members and not with the incoming request.
    Every minute, Datapower check if the load balancer members are active by sending a soap request, and in this request is when the problem (http head change) occurs.

    if you need more information about the problem please tell me.

    Thanks in advance.

    Mauricio A.
    Hi Mauricio,
    Sorry for my misunderstanding. So you're saying the health check properly goes to port 80, but the Host header in the request is specifying another port. By sending SOAP requests that tells me you're using a "Standard" health check. Do you have health ports specified on your members, or are you relying on the health port on the health check config tab? Bottom line to me is this does sound like a PMR. If the health check is indeed being sent to port 80, then the Host header should indicate port 80, but perhaps you can work around the issue depending upon your LBG configuration.

    Regards,
    Steve
  • SystemAdmin
    SystemAdmin
    6772 Posts

    Re: Load Balancer check health problem

    ‏2013-04-04T14:26:14Z  
    • swlinn
    • ‏2013-04-04T13:24:37Z
    Hi Mauricio,
    Sorry for my misunderstanding. So you're saying the health check properly goes to port 80, but the Host header in the request is specifying another port. By sending SOAP requests that tells me you're using a "Standard" health check. Do you have health ports specified on your members, or are you relying on the health port on the health check config tab? Bottom line to me is this does sound like a PMR. If the health check is indeed being sent to port 80, then the Host header should indicate port 80, but perhaps you can work around the issue depending upon your LBG configuration.

    Regards,
    Steve
    Steve,

    That is exacly what is happening, we make the test that you sugest but Datapower still changing the header http.
    We're going to make a PMR and when we have any updates we let you know.

    Thanks for your help and time.

    Mauricio A.
  • swlinn
    swlinn
    1395 Posts

    Re: Load Balancer check health problem

    ‏2013-04-05T14:32:42Z  
    Steve,

    That is exacly what is happening, we make the test that you sugest but Datapower still changing the header http.
    We're going to make a PMR and when we have any updates we let you know.

    Thanks for your help and time.

    Mauricio A.
    Hi Maurico,
    I'd be curious about your specific configuration. Could you could post your LBG config (member IPs/DNS names replaced of course).

    Regards,
    Steve
  • malpuin
    malpuin
    5 Posts

    Re: Load Balancer check health problem

    ‏2013-05-08T03:46:18Z  
    • swlinn
    • ‏2013-04-05T14:32:42Z
    Hi Maurico,
    I'd be curious about your specific configuration. Could you could post your LBG config (member IPs/DNS names replaced of course).

    Regards,
    Steve

     Hi Steve,

    I'm sorry for the late replay, I have attached the pictures with the load balancer configuration.

    The PMR is ready, when we have any updates we let you know.

    Regards,

    Mauricio A.

  • swlinn
    swlinn
    1395 Posts

    Re: Load Balancer check health problem

    ‏2013-05-08T13:30:15Z  
    • malpuin
    • ‏2013-05-08T03:46:18Z

     Hi Steve,

    I'm sorry for the late replay, I have attached the pictures with the load balancer configuration.

    The PMR is ready, when we have any updates we let you know.

    Regards,

    Mauricio A.

    Hi Maurico,

    The only things that seem odd on your configuration are the spaces in your health check request (store:///request      .xml) and the fact that you are not specifying a mapped server port for your members (which I assume would then default to 80), but neither of those should have an impact on the HTTP Host header of the health check.  Keep us posted on the PMR results.

    Best Regards,

    Steve

  • swlinn
    swlinn
    1395 Posts

    Re: Load Balancer check health problem

    ‏2013-05-08T13:43:49Z  
    • swlinn
    • ‏2013-05-08T13:30:15Z

    Hi Maurico,

    The only things that seem odd on your configuration are the spaces in your health check request (store:///request      .xml) and the fact that you are not specifying a mapped server port for your members (which I assume would then default to 80), but neither of those should have an impact on the HTTP Host header of the health check.  Keep us posted on the PMR results.

    Best Regards,

    Steve

    Hi Maurico,

    I just remembered I had a sample MPGW that uses a LBG whose members are XML FWs on the same appliance, so I enabled the health checks and took a look at the probe on my target XML FW.  What I'm seeing is

    Host      127.0.0.1:40216

    Yet my health check port is 6301.  My guess is this is a bug of the LBG Health check connection code's setting of the HTTP Host header where it is using the ephemeral port that the LBG is using for its backside connection of the health check request, not the target port.  If you have not yet opened the PMR, I'd do so.

    Regards,
    Steve

    Updated on 2013-05-09T14:38:05Z at 2013-05-09T14:38:05Z by swlinn
  • malpuin
    malpuin
    5 Posts

    Re: Load Balancer check health problem

    ‏2013-05-10T23:15:41Z  
    • swlinn
    • ‏2013-05-08T13:43:49Z

    Hi Maurico,

    I just remembered I had a sample MPGW that uses a LBG whose members are XML FWs on the same appliance, so I enabled the health checks and took a look at the probe on my target XML FW.  What I'm seeing is

    Host      127.0.0.1:40216

    Yet my health check port is 6301.  My guess is this is a bug of the LBG Health check connection code's setting of the HTTP Host header where it is using the ephemeral port that the LBG is using for its backside connection of the health check request, not the target port.  If you have not yet opened the PMR, I'd do so.

    Regards,
    Steve

    Steve,

    I have already created the PMR, I have no idea if I should post the PMR number.

    Anyway  I keep you updated.

    Regards,

    Mauricio A.