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

Example of Server Too Busy page

 

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.

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

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.




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.

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.

Log in with your credentials

or    

Forgot your details?

Create Account