0% found this document useful (0 votes)
146 views

A10 Training 04 HTTP

This document section discusses HTTP and configuring HTTP load balancing on AX load balancers. It begins with an overview of the HTTP protocol, including HTTP requests, responses, headers, and status codes. It then covers configuring HTTP virtual servers, health monitors, templates for URL switching and header insertion. The section concludes with a lab task to configure an HTTP virtual server with these features and verify its functionality.

Uploaded by

Mario Alcazaba
Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
146 views

A10 Training 04 HTTP

This document section discusses HTTP and configuring HTTP load balancing on AX load balancers. It begins with an overview of the HTTP protocol, including HTTP requests, responses, headers, and status codes. It then covers configuring HTTP virtual servers, health monitors, templates for URL switching and header insertion. The section concludes with a lab task to configure an HTTP virtual server with these features and verify its functionality.

Uploaded by

Mario Alcazaba
Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 17

HTTP

Section 4

1
Section objectives

Understand HTTP
Understand AX HTTP load balancing
Configure HTTP Virtual Server

2
HTTP protocol

HTTP RFC is 2616 (http://www.w3.org/Protocols/rfc2616/rfc2616.html)


HTTP (Hypertext Transfer Protocol) is an unencrypted TCP protocol used to access web
content (usually on port 80)
Note: HTTPS uses the same protocol with explicit SSL encryption for higher security (usually on
port 443)
HTTP is a sequence of network request/response transactions
Note: Browsers open multiple TCP sessions to download multiple objects from 1 web site in
parallel (2 sessions with IE5.5/6.0, 6 sessions with IE8, 15 sessions with Firefox 3.x)
Request and response options are sent via headers

3
HTTP request

Main request methods


"GET url": Request object from server
"POST url": Send data/object to server
Others: HEAD, CONNECT
Note: The Host (such as www.a10networks.com) is not a part of the url but is listed in the
"Host“ header in the request
Main request headers
"Host": Site name
"Connection: Keep-Alive" : Client support for using the same session for multiple
request/response transactions
"Accept-Encoding: gzip, deflate": Support for HTTP compression
"Cookie": Text used to keep track of user information

4
HTTP response codes

Main server response codes


200: OK (object in the response)
301: Redirect permanently
302: Temporary redirect
304: Not Modified
404: Page not found
5xx: Server error

5
HTTP response headers

Main response headers


"Last-Modified": When object was last modified
"Etag": Entity tag (used to detect object changes)
"Connection: Keep-Alive": Server support for using the same session for multiple
request/response transactions
"Set-Cookie": Asks user to save cookie to keep track of user information
"Cache-Control" / "Pragma": Cacheability of the object

6
SLB configuration for HTTP (p. 1 of 8)

Load Balancers don't need a specific configuration for basic HTTP load balancing - Any
L4 SLB VIP works for HTTP services
However, advanced load balancers provide techniques for improving HTTP services
Better Availability
Better Flexibility
Better Performance/Acceleration
Better Security
AX offers advanced flexibility options for web applications via HTTP templates
HTTP templates are associated with virtual server ports of service type “HTTP" or
"HTTPS”

7
SLB configuration for HTTP (p. 2 of 8)

HTTP template options


URL Hash switching
Load Balancing of Servers is done based on hash on the URL (beginning or end of the URL).
This option is usually used for Web Cache load balancing.
Host/URL switching
Selection of Servers is done based on Host or URL (beginning or end).
This option also is usually used for Web Cache load balancing.
Request/Response Header Erasure/Insertion
Allows the AX to insert or remove
client request header (such as "Accept-Encoding")
server response header (such as "Cache-Control")
This option usually is used to centrally change web server behavior without changing the web
servers’ configuration.
8
SLB configuration for HTTP (p. 3 of 8)

HTTP template options (cont.)


Strict Transaction Switching
Allows HTTP/HTTPS load balancing per request (instead of per session).
This option usually is used when the load among the Servers is unequal.

9
SLB configuration for HTTP (p. 4 of 8)

HTTP Health Monitor


AX provides the ability to test HTTP/HTTPS services using Health Monitors
HTTP/HTTPS Health Monitors have the following required parameters:
Port: TCP port
Method (GET or HEAD or POST)
URL
And the following optional parameters:
User + Password: For web sites that require authentication
Expect: Server Response code or Server text
Maintenance Code: To automatically mark the server in maintenance, rather than down (so users
with persistence to that server remain on that server)

10
SLB configuration for HTTP (p. 5 of 8)

URL failover
When all servers are disabled or have failed, the AX can send an HTTP redirect to a "backup
site" or "sorry page".
This option usually is used with "backup sites" or "sorry pages".

11
SLB configuration for HTTP (p. 6 of 8)

URL redirect / rewrite


When the Server replies with an HTTP redirect, the AX can rewrite it with a new value.
This option usually is used for transparent "SSL-ization" of HTTP web applications.

12
SLB configuration for HTTP (p. 7 of 8)

Retry HTTP request on HTTP 5xx


When the Server replies with a 5xx error, by default AX forwards it to the client. The retry
option tells the AX to resend the request to another Server in the Service Group.
The following options are available:
"On HTTP 5xx code for each request": The client request is resent to a new server
"On HTTP 5xx code": The client request is resent to a new server + the server that replied with the
5xx is not used for new requests for 30 seconds
"#": Number of servers that can be tried
Logging: Generates logs when this event happens (not available in WebUI in AX 2.4.2)

13
SLB configuration for HTTP (p. 8 of 8)

Client IP header insertion


In Web server logs, the client IP address is logged. Web servers retrieve the client IP
information from the source IP address.
Some AX advanced HTTP options (Connection Reuse or Source NAT) force the AX to establish
the connection to the server with an AX IP address. In such case, the Web server loses the
client IP address information.
To allow Web Servers to log Client IP address information, the AX can inject the Client IP
information in a request header.

14
Lab

Configure layer 7 HTTP Virtual Server


Physical servers
HTTP Health Monitor
Service Group
Source NAT
Source IP Persistence
Virtual Server
HTTP Templates
Header rewriting/insertion
URL Failover
Verify functionality

15
Section summary

In this section we discussed HTTP protocol


We have configured the following:
HTTP Virtual Server
HTTP health monitor
URL switching
Response header insertion

16
Course map

Section 0: Course Introduction


Section 1: Load Balancing Concepts
Section 2: AX Management
Section 3: FTP
Section 4: HTTP
Section 5: HTTPS
Section 6: AX Acceleration
Section 7: AX Security
Section 8: High Availability
Section 9: AX Troubleshooting
Section 10: aFleX

17

You might also like