HTTP configuration (part 2)

Here are the rest of the Liberator configuration items that define how Liberator handles HTTP connections with clients.

Liberator’s supplied with a built-in HTTP Config blade that’s automatically activated when you install the Liberator (see Built-in blades). For more about how to change the configuration of this blade, see How can I…​ Configure how Liberator handles HTTP connections.

For more HTTP-related configuration items, see HTTP configuration (part 1).

add-authdir

add-authdir specifies an HTTP-authenticated directory.

Syntax:

add-authdir
   check-module     [type]
   name             [string]
   password         [string array]
   realm            [string]
   secure-passwords [boolean]
   username         [string array]
end-authdir
Option Type Default Description

check-module

boolean

FALSE

When check-module is TRUE, the Liberator’s auth module is used to authorise a user’s access to the HTTP directory specified in name, instead of using the list of usernames and passwords supplied in this add-authdir item.

For example, if the Auth module is cfgauth, the authorised usernames and passwords are defined in the username and password options of the cfgauth configuration item add-user.

name

string

/status

The full HTTP directory name. The default is the Liberator’s status page.

password

string array

admin

A space-separated list of passwords. Each password relates to the username in the corresponding position in the list. See Note 1 below.

The passwords can be encrypted in MD5 hash format so that they are secure; in this case, set secure-passwords to TRUE.

realm

string

Liberator Admin

The HTTP basic authentication realm. (This string is shown in the Liberator login window that pops up at the client when the login isn’t through KeyMaster single sign-on.)

secure-passwords

boolean

FALSE

When secure-passwords is TRUE, the password received for a username is encrypted in MD5 hash format before being validated against the corresponding password defined in the password option.

username

string array

admin

A space-separated list of usernames defining the users who can access the HTTP directory specified in name. See Note 1 below.

Note 1:

You can specify multiple usernames and passwords in the following ways: either as space-separated lists, as individual entries, or a combination of the two.

Example 1:

add-authdir
   username   Alf Bill Carl Dave
   password   pwA pwB pwC pwD
end-authdir

In the above example user Alf's password is pwA, user Bill's password is pwB, and so on.

Example 2:

add-authdir
   username   Alf
   password   pwA
   username   Bill
   password   pwB
   username   Carl Dave
   password   pwC pwD
end-authdir

In the above example user Alf's password is still pwA, but it’s been specified in a password option that immediately follows the username option for Alf, and similarly for user Bill whose password is pwB.

add-useragent

add-useragent enables various HTTP protocol extensions for a specific browser or browsers, as identified by the browser(s) user agent string.

Syntax:

add-useragent
   useragent-pattern [string]
   extensions        flag1|flag2|flag3|...
end-useragent
Option Type Default Description

useragent-pattern

string

[none]

A regular expression that Liberator uses to match the user agent string sent to it from a client’s browser.

For examples of user agent strings, see User-Agent - HTTP on the Mozilla Developer Network.

You can also identify the user agent string sent to Liberator from a particular browser by logging into the Liberator from the browser and then looking in the Liberator’s http-access-log.

extensions

string

Value of

Flags that enable various HTTP protocol extensions. These flags allow you to turn on HTTP features that can improve utilisation of the client-Liberator connection for browsers whose user agent strings match the value of the useragent-pattern option.

Valid values are as for the http-extensions configuration item.

For browsers that match useragent-pattern, the extensions option adds to and/or overrides the settings of the http-extensions configuration item.

You can specify the flags in one extensions option, like this:

http-extensions flag1|flag2|flag3

or in multiple options, like this:

http-extensions flag1
http-extensions flag2
http-extensions flag3

See the examples below.

Examples:

Example 1

add-useragent
   useragent-pattern MSIE
   extensions force-type5-chunked
end-useragent

This example forces Liberator to use the HTTP chunked-transfer encoding when the StreamLink connection type is "Streaming JavaScript via IFrame" and Server-Sent Events are turned off. It’s used when the client application is running in any version of the Microsoft Internet Explorer browser.

Example 2

add-useragent
   useragent-pattern "MSIE 11\."
   allow-extensions force-type5-chunked
end-useragent

This example does the same as Example 1 above, but only applies to version 11 releases of the Microsoft Internet Explorer browser; that is, all browsers that return a user agent string containing the string "MSIE 11."

Example 3

add-useragent
   useragent-pattern Chrome
   extensions allow-sse-deflate|allow-ws-permessage-deflate
end-useragent

This example allows Liberator to negotiate with the Chrome browser to use compression for the HTML5 Server-Sent Events connection type and to use DEFLATE compression of Websocket frames.


See also: