General server configuration

Open the console and select Server Configuration to display the general server configuration dialog.

Server configuration dialog

Figure 4-2. General server configuration dialog

The following subsections describe the server configuration options.

Parameters

Select Parameters in the Server Configuration dialog to display the server parameters dialog.

Server Parameters dialog

Figure 4-3. Server Parameters dialog

The dialog includes the following fields:

MIME Types

When the server sends a document to a browser, it also sends its MIME type. This information helps the browser to know what kind of file it is (HTML, ZIP, JPEG image, etc…) and what to do with it (display it, save it on the disk, launch a configured application to read it, etc…). Abyss Web Server comes with a list of common MIME types used as a default.

A MIME Type has the format type/subtype and is associated to one or more extensions separated by spaces.

MIME Types dialog

Figure 4-4. MIME Types dialog

Use the Custom MIME Types table to edit, remove or add custom MIME types. If a MIME Type is declared in both the Custom MIME Types table and the Default MIME Types table, the custom definition prevails.

Example 4-1. The text/html MIME type

HTML files have text/html as MIME type. By default, text/html is associated to extensions html and htm. As a consequence, when the server sends to a browser a document which extension is html or htm, it will also set the document's MIME type to text/html.

Global Bandwidth Limits

Abyss Web Server gives you complete control over the bandwidth the server uses when answering to requests. Select Global Bandwidth Limits in the Server Configuration dialog to display the global bandwidth parameters dialog. For finer bandwidth settings, you should use Bandwidth Limits in every host configuration menu.

Global Bandwidth Limits dialog

Figure 4-5. Global Bandwidth Limits dialog

The dialog contains the following fields:

Note: Abyss Web Server does always its best to deliver data to clients while respecting the restrictions set on the bandwidth. For example, assume that Maximum Total Bandwidth is set to 10 KB/s and Maximum Bandwidth Per IP Address to 4 KB/s. If there are 2 clients connecting from different IP addresses, the server allocates to each of them a bandwidth of 4 KB/s. But if there are 5 clients, the server will allocate to each of them only 2 KB/s.

Anti-Hacking Protection

Although Abyss Web Server is secure and has an integrated system to prevent malicious accesses to the server, it was equipped with an automatic anti-hacking protection system to detect clients that are trying to attack the server and to ban them. This system improves the overall security, detects at an early stage denial of service attacks, and saves the bandwidth that could be wasted during attacks.

To configure the anti-hacking system, select Anti-Hacking Protection in the Server Configuration dialog.

Anti-Hacking Protection dialog

Figure 4-6. Anti-Hacking Protection dialog

The displayed dialog is made of the following items:

In other words, the anti-hacking system works as follows: If a client has generated Bad Requests Count Before Banning bad requests during the last Monitoring Period seconds, then ban it for the next Banning Duration seconds. When a client is banned, the server will not accept connections from it.

Note: The server preserves the list of banned clients when it is shutdown. So if a client was banned for 2 hours at 10:00, and if the server was stopped at 10:15 and restarted at 11:00, the server will continue to not accept requests from the banned client until 12:00.

Logging Parameters

Beside the common log format and the combined log format, Abyss Web Server offers the possibility to define custom logging formats that can be used in the configuration of hosts. Select Logging Parameters in the Server Configuration dialog and use the Custom Logging Formats table to edit, remove or add custom logging formats definitions.

Each format is defined by its name and a list of fields it contains. Fields refer to information from the requests, the responses, or the CGI variables. They can also refer to general information (such as the date and time) or to static text that is to be inserted in each log line.