HTTP

The Advanced–>Protocol–>HTTP page allows you to set advanced settings for HTTP.

The page is organised into the section below.

Server Too Busy

If you have limited the maximum connections to your real servers you can choose to present a friendly web page once this limit has been reached.

  • 1.Create a simple web page with your message. You may include external links to objects on another web server.Alternatively if you want to include images on your web page then use inline base64 encoded images
  • 2.Browse for your newly created web page
  • 3.Click Upload
  • 4.If you wish to preview the page you can do so with the Click Here link

servertoobusy

Example of Server Too Busy page

servertoobusyexample

back

Forwarded For

Forwarded for is the de facto standard for identifying the originating IP address of a client connecting to a web server through layer-7 load balancers and proxy-servers.

Forwarded-For Output:

Off:
jetNEXUS ALB-X does not alter the Forwarded-For header.

Add Address and Port:
This will append the IP address and port, of the device or client connected to the jetNEXUS ALB-X, to the Forwarded-For header.

Add Address:
This will append the IP address, of the device or client connected to the jetNEXUS ALB-X, to the Forwarded-For header.

Replace Address and Port:
This will replace the value of the Forwarded-For header with the IP address and port of the device or client connected to jetNEXUS ALB-X.

Replace Address:
This will replace the value of the Forwarded-For header with the IP address of the device or client connected to jetNEXUS ALB-X.

Forwarded-For Header:
This is the name given to the Forwarded-For header. Typically this is “X-Forwarded-For” but may be changed for particular environments.

xff

Advanced Logging for IIS – Custom Logging

You can obtain the X-Forwarded-For information by installing the IIS Advanced logging 64 bit app. Once downloaded, create a Custom Logging Field called X-Forwarded-For with the settings below>

From the Category list, select Default
From the Source Type list, select Request Header
In the Source Name box, type X-Forwarded-For

http://www.iis.net/learn/extensions/advanced-logging-module/advanced-logging-for-iis-custom-logging

Apache httpd.conf changes

There are several changes you are going to want to make to the default format in order to log the X-Forwarded-For client ip address or the real client ip address if the X-Forwarded-For header does not exist. Those changes are below:

LogFormat “%h %l %u %t “%r” %>s %b “%{Referer}i” “%{User-Agent}i”” combined
LogFormat “%{X-Forwarded-For}i %l %u %t “%r” %>s %b “%{Referer}i” “%{User-Agent}i”” proxy
SetEnvIf X-Forwarded-For “^.*..*..*..*” forwarded
CustomLog “logs/access_log” combined env=!forwarded
CustomLog “logs/access_log” proxy env=forwarded

This format takes advantage of apache’s built-in support for conditional logging based upon environment variable.

  • The first line is the standard combined log formatted string from the default.
  • The second line replaces the %h (remote host) field with the value(s) pulled from the X-Forwarded-For header and sets the name of this log file pattern to “proxy”.
  • Line 3 is a setting for environment variable “forwarded” that contains a loose regular expression matching an ip address, which is ok in this case since we really care more whether an ip address exists in the X-Forwarded-For header. Explained another way, line 3 could be read as: “If there is an X-Forwarded-For value, use it.”
  • Lines 4 and 5 tell apache which log pattern to use. If and X-Forwarded-For value exists, use the “proxy” pattern, else use the “combined” pattern for that request. For readability, lines 4 and 5 do not take advantage of Apache’s rotatelogs (piped) logging feature but I assume that it is in use by most everyone.

These changes should result in logging an IP address for every request.

back

HTTP Compression Settings

Compression is an acceleration feature and is enabled for each channel on the IP Services page.

WARNING – Take extreme care when adjusting these settings as inappropriate settings can adversely affect the performance of jetNEXUS ALB-X

Initial Thread Memory [KB]:
This is the amount of memory each request received by jetNEXUS ALB-X may initially allocate. For most efficient performance, this value should be set at a value just in excess of the largest uncompressed HTML file that the web servers are likely to send.

Maximum Thread Memory [KB]:
This is the maximum amount of memory that the jetNEXUS ALB-X will allocate on one request. For maximum performance, jetNEXUS ALB-X normally stores and compresses all content in memory. IF an exceptionally large content file exceeding this amount is processed, jetNEXUS ALB-X will write to disk and compress the data there.

Increment Memory [KB]:
This sets the amount of memory added to the Initial Thread Memory Allocation when more is required. The default setting is zero. This means jetNEXUS ALB-X will double the allocation when the data exceeds the current allocation (e.g. 128Kb, then 256Kb, then 512Kb, etc) up to the limit set by Maximum Memory Usage per Thread. This is efficient where the majority of pages are of a consistent size but there are occasional larger files. (e.g. Majority of pages are 128Kb or less, but occasional responses are 1Mb in size.) In the scenario where there are large variable sized files, it is more efficient to set a linear increment of a significant size (e.g. Responses are 2Mb to 10Mb in size, an initial setting of 1Mb with increments of 1Mb would be more efficient.).

Minimum Compression Size [Bytes]:
This is the size, in bytes, under which the jetNEXUS ALB-X will not attempt to compress. This is useful because anything much under 200-bytes does not compress well and may even grow in size due to the overheads of compression headers.

Safe Mode:
Tick this option to prevent jetNEXUS ALB-X from applying compression to style sheets of JavaScript. The reason for this is that even though jetNEXUS ALB-X is aware of which individual browsers can handle compressed content, some other proxy servers, even though they claim to be HTTP/1.1 compliant are unable to transport compressed style sheets and JavaScript correctly. If problems are occurring with style sheets or JavaScript through a proxy server, then use this option to disable compression of these types. However, this will reduce the overall amount of compression of content.

Disable Compression:
Tick this to stop jetNEXUS ALB-X from compressing any response.

Compress As You Go:
On:
Use Compress as You Go on this page. This compresses each block of data received from the server in a discrete chunk that is fully de-compressible.
Off:
Do not use Compress As you Go on this page.
By Page Request:
Use Compress as You Go by page request.

httpcompression

back

Global Compression Exclusions

Anything added to the current exclusion list will not be compressed.

  • 1.Type in the individual file name.
  • 2.Click update.
  • 3.If you wish to add a file type simply type “*.css” for all cascading style sheets to be excluded.
  • 4.Each file or file type should be added on a new line.

compressionexclusion

back

Log in with your credentials

or    

Forgot your details?

Create Account