Virtual Host Directives

NamedVirtualHost

Description Nominates an IP address as using name based virutal hosting
Synopsis
NamedVirtualHost IPaddr[:port]
Context Default Server
Example
NamedVirtualHost 206.148.97.56
<VirtualHost 206.148.97.56>
    ...
</VirtualHost>
The NamedVirtualHost directive specifies that an IP address will be used for name based virtual hosting. AppWeb provides two virtual hosting mechanisms:
  • IP based

  • Name based

IP based virtual hosting uses a dedicated IP address for each virtual host on a server. Name based hosting uses one IP address for a set of virtual hosts that are distinguished from each other by a "Host" HTTP header.

The IPAddress argument may be "*" in which case addresses on which AppWeb is listening will use name based virtual hosting.

Example of Name Based Virtual Hosting


This example shows two virtual hosts with independent document webs. Both share the same IP address and use the "Host" HTTP header to select the appropriate virtual host.

NamedVirtualHost 206.148.97.56

<VirtualHost 206.148.97.56>
    ServerName www.acme.com
DocumentRoot /var/www/acme
...
</VirtualHost>

<VirtualHost 206.148.97.56>
    ServerName www.coyote.com
DocumentRoot /var/www/coyote
...
</VirtualHost>


Example of IP Based Virtual Hosting


This example shows two virtual hosts with independent document webs. Each has a dedicated IP address.

<VirtualHost 206.148.97.56>
    ServerName www.acme.com
DocumentRoot /var/www/acme
...
</VirtualHost>

<VirtualHost 206.148.97.57>
    ServerName www.coyote.com
DocumentRoot /var/www/coyote
...
</VirtualHost>


You can use both IP based and name based hosting on one server.

SECURITY WARNING: You should only ever use an IP address for the argument to the directive. Using a host name will cause a DNS lookup which makes the availability of your web server dependent on the DNS server.

VirtualHost

Description Create a directive block that applies to a specific IP address.
Synopsis
<VirtualHost IPaddress[:port]>
    ...
</VirtualHost>
Context Default Server
Example
<VirtualHost 206.148.97.56:443>
    ServerName www.acme.com
    DocumentRoot /var/www/acme
    SSLEngine on
    ....
</VirtualHost>
The VirutalHost directive defines a block of directives that will apply to the nominated IP address. The IPaddress specifies the IP address for this VirtualHost. Note: this does not cause AppWeb to listen on this address. You will still need an appropriate Listen directive for the IP address. The IPaddress can be set to "*" in which case the VirtualHost will listen on all interfaces.

If the IPaddress is also specified in a NamedVirtualHost directive, the virtual host will use name based hosting. This requires the browser (as nearly all modern browsers do), to include the domain portion of the URL in the HTTP host header. AppWeb examines this header and routes the request to the Virtual Host that has a corresponding ServerName, or to

NOTE: Unlike Apache, only one IPaddress may be specified per VirtualHost directive.
 

© Mbedthis Software LLC, 2003-2204. All rights reserved. Mbedthis is a trademark of Mbedthis Software LLC.