2

We are facing one issue while implementing Akamai in our application, issue is related to session maintenance. My application structure is – Akamai (xyz.com) -> Origin (origin-xyz.com) -> VIP / LB (Session Affinity on Cookie) -> WebServer 1 OR WebServer 2 We don’t have app server, application runs on IIS server on web server itself.

Further details - a. one data center for my servers b. one VIP c. two web servers in pool behind VIP d. Cookie persistence session setting enabled on VIP for port 80 and 443

If I try accessing my application without Akamai i.e., with origin.xyz.com everything works fine, no session issue. But if I try with xyz.com (including Akamai) session issue come into picture. Request is floating between two web servers.

*I am not sure if below information is correct or make any difference but would like to share, as I am not network expert. Note – VIP configured on load balancer is external (internet) if we access the site with origin-xyz.com then request directly approach load balancer but when we are accessing xyz.com then firstly it approaches to Akamai which is within same network and Akamai internally call the origin-xyz.com (seems some gap here, not sure what’s that and what’s the fix)

Any suggestion for resolving this issue.

  • Are you using Akamai WAA / Terra Alta?? Also - what LB are you using? F5? What is your VIP technology, microsoft NLB by chance ?? Need more detail. – A L Aug 6 '14 at 18:01
  • Did any answer help you? if so, you should accept the answer so that the question doesn't keep popping up forever, looking for an answer. Alternatively, you could provide and accept your own answer. – Ron Maupin Aug 9 '17 at 1:44
3

If I recall correctly, Akamai performs multiple requests in one TCP/HTTP connection to your origin.

If using F5 (but could be of interest as well if not), see http://support.f5.com/kb/en-us/solutions/public/7000/200/sol7208.html and enable OneConnect

This makes the F5 to examine the client cookie for each HTTP request, instead of just only for the first request. Other vendors might have likewise options.

:

Content Switching

When a OneConnect profile is enabled for an HTTP virtual server, and an HTTP client sends multiple requests within a single connection, the BIG-IP system is able to process each HTTP request individually. The BIG-IP system sends the HTTP requests to different destination servers as determined by the load balancing method. Without a OneConnect profile enabled for the virtual server, the BIG-IP system performs load-balancing only once for each TCP connection.

Note: If no OneConnect profile is configured for the virtual server, certain persistence methods can occasionally fail due to HTTP parsing issues. For more information, refer to SOL7964: Persistence may fail for subsequent requests on Keep-Alive connections.

When a OneConnect profile is enabled for a TCP virtual server that does not have an HTTP profile applied, and a client sends multiple requests within a single connection, the BIG-IP system is able to process each request individually. The BIG-IP system sends the requests to different destination servers as determined by the load balancing method. Without a OneConnect profile enabled for the virtual server, the BIG-IP system performs load-balancing only once for each TCP connection.

  • Akamai will use persistent TCP connections under certain conditions where multiple client connections have their HTTP requests sent down a single connection from Akamai edge to origin server. Requests coming from the same client source IP around the same time are probably meeting these conditions. – generalnetworkerror Aug 11 '14 at 8:42

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.