Skip Headers

Oracle® HTTP Server Administrator's Guide 10g Release 3 (10.1.3) B25211-01 |
| Home | Solution Area | Contents | Index

Previous | Next |

# 5 Managing the Network Connections

This chapter provides information about specifying IP addresses and ports, and managing server interaction, and network connection persistence.

Topics discussed are:

- Specifying Listener Ports and Addresses

- Managing Interaction Between Server and Network

- Managing Connection Persistence

- Configuring Reverse Proxies and Load Balancers

Documentation from the Apache Software Foundation is referenced when applicable.

Note: Readers using this guide in PDF or hard copy formats will be unable to access third-party documentation, which Oracle provides in HTML format only. To access the third-party documentation referenced in this guide, use the HTML version of this guide and click the hyperlinks.

## 5.1 Specifying Listener Ports and Addresses

The port that Oracle HTTP Server listens on when it is started depends on your installation type.

Table 5-1 contains information about Oracle HTTP Server ports.

Table 5-1 Oracle HTTP Server Ports

Platform | Middle Tier Installation | Infrastructure Installation
--- | --- | ---
Solaris | Non-SSL: 7777 (7777-7877 range) SSL: 4443 (4443-4543 range) | Non-SSL: 7777 (7777-7877 range) SSL: 4443 (4443-4543 range)
Windows | Non-SSL: 80 (7777-7877 range) SSL: 443 (4443-4543 range) | Non-SSL: 7777 (7777-7877 range) SSL: 4443 (4443-4543 range)

If ports 7777 or 80, for example, are occupied, Oracle HTTP Server listens on the next available port number between a range of 7777-7877. Accordingly, it would listen on port 7778, and so on.

Note: SSL is disabled by default. For information on enabling SSL, refer to Chapter 10, "Enabling SSL for Oracle HTTP Server".

A file named `setupinfo.txt` is automatically generated in `ORACLE_HOME``/install` on UNIX, or `ORACLE_HOME``\install` on Windows`.`It contains port information for Oracle HTTP Server. This file is generated at install time, and is not updated thereafter. If you restart Oracle HTTP Server, the information in this file becomes inaccurate.

You can change the Oracle HTTP Server listener port (SSL and non-SSL) after installation. If you make a port change, then you have to also update other components to use the new port number.

See Also: Oracle Application Server Administrator's Guide

You can specify that the server listens on more than one port, selected addresses, or a combination. The following directives, located in the "Global Environment" of the `httpd.conf` file, specify listener ports and addresses. Note that `BindAddress` and `Port` can be used only once. Apache group recommends the use of `Listen` instead.

- BindAddress

- Port

- Listen

  See Also: "httpd.conf File Structure"

### 5.1.1 BindAddress

Restricts the server to listen to a single IP address. If the argument to this directive is *, then it listens to all IP addresses. This directive has been deprecated. Listen offers similar functionality.

For example: `BindAddress *`

See Also: "`BindAddress` directive" in the Apache Server documentation.

### 5.1.2 Port

Specifies the port of the listener, if no Listen or BindAddress are present. If `Listen` is present, the `Port` value becomes the default port value that is used when Oracle HTTP Server builds URLs, or other references to itself. Usually, the values of `Port` and `Listen` should match, unless Oracle HTTP Server is fronted by a caching, or proxy server. Then, you can set `Port` to be the port that is being used by the front end server, and `Listen` to the port that Oracle HTTP Server is actually listening to. By doing this, redirects or other URLs generated by Oracle HTTP Server point to the front-end server rather than directly to Oracle HTTP Server.

For example: `Port 7779`

See Also: "`Port` directive" in the Apache Server documentation.

### 5.1.3 Listen

Specifies an IP port that Oracle HTTP Server listens on. Multiple `Listen` directives can be used to listen on multiple ports. If present, this value will override the value of `Port`. Accordingly, if you have a `Port` value of 7777 and a `Listen` value of 7778, then Oracle HTTP Server only listens on one port, 7778.

For example:

- `Listen 7778`

- `Listen 12.34.56.78:80`

For platforms that support IPv4 and IPv6 (such as UNIX), setting Listen to `localhost:``<portnumber>` and having IPv6 disabled can result in the following error:

    ..(126)Cannot assign requested address: make_sock: could not bind to address
    [::1]:8000
    no listening sockets available, shutting down

To resolve the error, either enable IPv6 or do not set Listen to `locahost`.

See Also: "`Listen` directive" in the Apache Server documentation.

## 5.2 Managing Interaction Between Server and Network

The following directives are used to specify how the server interacts with the network. They are located in the "Global Environment" of the `httpd.conf` file.

- ListenBackLog

- SendBufferSize

- TimeOut

  See Also: "httpd.conf File Structure"

### 5.2.1 ListenBackLog

Specifies the maximum length of the queue of pending connections. This is useful if the server is experiencing a `TCP` `SYN` overload, which causes numerous new connections that open up, but do not complete the task.

See Also: "`ListenBackLog` directive" in the Apache Server documentation.

### 5.2.2 SendBufferSize

Increases the `TCP` buffer size to the number of bytes specified, thereby improving performance.

See Also: "`SendBufferSize` directive" in the Apache Server documentation.

### 5.2.3 TimeOut

Sets the maximum time, in seconds, that the server waits for the following:

- The total amount of time it takes to receive a `GET` request.

- The amount of time between receipt of `TCP` packets on a `POST` or `PUT` request.

- The amount of time between `ACKs` on transmissions of `TCP` packets in responses.

The default is 300 seconds.

See Also: "`TimeOut` directive" in the Apache Server documentation.

## 5.3 Managing Connection Persistence

The following directives determine how the server handles persistent connections. They are located in the "Global Environment" of the `httpd.conf` file.

- KeepAlive

- KeepAliveTimeout

- MaxKeepAliveRequests

  See Also: Oracle Application Server Performance Guide "httpd.conf File Structure"

### 5.3.1 KeepAlive

Enables HTTP 1.1 keep-alive support, allowing reuse of the same TCP connection for multiple HTTP requests from a single client, when set to "On". The default is "On".

See Also: "`KeepAlive` directive" in the Apache Server documentation.

### 5.3.2 KeepAliveTimeout

Sets the number of seconds the server waits for a subsequent request before closing a KeepAlive connection. Once a request has been received, the timeout value specified by the TimeOut directive applies. The default is 15 seconds.

See Also: "`KeepAliveTimeout` directive" in the Apache Server documentation.

### 5.3.3 MaxKeepAliveRequests

Limits the number of requests allowed per connection when KeepAlive is on. If it is set to "0", unlimited requests will be allowed. The default is 100.

See Also: "`MaxKeepAliveRequests` directive" in the Apache Server documentation.

## 5.4 Configuring Reverse Proxies and Load Balancers

By default, Oracle Application Server installs using the local hostname as set up by ServerName directive in Oracle HTTP Server. Most Web sites tend to have a specific hostname or domain name for their Web or application server. However, this is not possible out of the box because with the `ServerName` directive, Oracle HTTP Server is instantiated with the local host.

Example 5-1 Using Reverse Proxies and Load Balancers with Oracle HTTP Server

Domain Name: `www.oracle.com:80 123.456.7.8` (hosted on a reverse proxy, load balancer, or firewall)

Host Name of Oracle Application Server Host: `server.oracle.com 123.456.7.9`

ServerName and Port of Oracle Application Server Host: `server.oracle.com:7777`

Make the following changes in the `httpd.conf` file:

    Port 80
    Listen 7777
    Listen 80
    # Virtual Hosts
    # This section is mandatory for URLs that are generated by
    # the PL/SQL packages of the Oracle Portal and various other components
    # These entries dictate that the server should listen on port
    # 7777, but will assert that it is using port 80, so that
    # self-referential URLs generated specify www.oracle.com:80
    # This will create URLs that are valid for the browser since
    # the browser does not directly see the host server.oracle.com.
    NameVirtualHost 123.456.7.9:7777
    <VirtualHost server.oracle.com:7777>
    ServerName www.oracle.com
    Port 80
    </VirtualHost>
    # Since the previous virtual host entry will cause all links
    # generated by the Oracle Portal to use port 80, the server.company.com
    # server needs to listen on 80 as well since the Parallel Page
    # Engine will make connection requests to Port 80 to request the
    # portlets.
    NameVirtualHost 123.456.7.9:80
    <VirtualHost server.oracle.com:80>
    ServerName www.oracle.com
    Port 80
    <VirtualHost>

See Also: Oracle Application Server High Availability Guide