Configure virtual hosts
Overview
Virtual hosts let you manage a single appserver on a single machine as if the appserver were multiple appservers each on their own host machine. You can separate and control which resources are available for client requests by combining multiple host machines into a single virtual host, or by assigning host machines to different virtual hosts.
If your external HTTP server configuration uses the default port, 9080, you do not have to perform these steps.
Virtual hosts isolate and independently manage multiple sets of resources on the same physical machine. Resources associated with one virtual host cannot share data with resources associated with another virtual host. This is true even though the virtual hosts share the same appserver on the same physical machine. For example, suppose that:
- An Internet service provider (ISP) has two customers with Internet sites hosted on the same machine. The ISP keeps the two sites isolated from one another, despite their sharing a machine, by using virtual hosts. The ISP associates the resources of the first company with VirtualHost1 and the resources of the second company with VirtualHost2. Both virtual hosts map to the same appserver.
- Both company sites offer the same servlet. Each site has its own instance of the servlet, and is unaware of the same servlet on the other site. If the company whose site is organized on VirtualHost2 is past due in paying its account with the ISP, the ISP can refuse all servlet requests that are routed to VirtualHost2. Even though the same servlet is available on VirtualHost1, the requests directed at VirtualHost2 do not go to the other virtual host.
Because the servlet is associated with a virtual host instead of the actual DNS address, The servlet on virtual host VirtualHost1 does not share its context with the servlet that has the same name on virtual host VirtualHost2. Requests for the servlet on VirtualHost1 can continue as usual, even though VirtualHost2 is refusing to fill requests for the servlet with the same name.
If any of the following conditions exist, update the HTTP port numbers associated with the default virtual host. or define a new virtual host and associate it with the ports your HTTP server configuration uses:
- Your external HTTP server configuration uses a port other than the default port of 9080, define the port that you are using.
- You are using the default HTTP port 9080, but the port is no longer defined. You must define port 9080.
- You have created multiple appservers as either stand-alone servers or cluster members, and these servers use the same virtual host. Because each server must be listening on a different port, define a virtual host alias for the HTTP port of each server.
If you define new virtual host aliases, identify the port values that the aliases use on the Host alias settings page in the console.
Perform the following steps to create a new virtual host or change the configuration of an existing virtual host.
Procedure
- In the console, click...
Environment | Virtual Hosts
- Optional: Create a new virtual host.
If you create a new virtual host, a default set of 90 MIME entries are automatically created for that virtual host.
- In the console, click New.
- Enter the name of the new virtual host and click OK. The new virtual host appears in the list of virtual hosts you can configure.
- Select the virtual host whose configuration you want to change.
- Under Additional Properties, click Host Aliases.
- Create new host aliases or update existing host aliases to associate each of your HTTP port numbers with this virtual host.
There must be a virtual host alias corresponding to each port your HTTP server configuration uses. There is one HTTP port associated with each Web container, and it is usually assigned to the virtual host named default_host. You can change the default assignment to any valid virtual host.
The host aliases associated with the default_host virtual host are set to * when you install WAS. The * (an asterisk) indicates that the alias name does not have to be specified or that any name can be specified. When the URL for the application is entered into a Web browser, the port number is included. For example, if 9082 is the port number, the specified URL might look like the following:
http://localhost:9082/wlm/SimpleServletTo create a new host alias:
- Click New.
- Specify a host alias name in the Host Name field and one of your HTTP ports in the Port field.
You can specify * (an asterisk) for the alias name if you do not want to require the specification of the alias name or if you want to allow any name to be specified.
- Click OK and Save to save the configuration change.
To update an existing host alias:
- Select an existing host alias name.
- Change the value specified in the Port field to one of your HTTP ports.
- Click OK and Save to save the configuration change.
- Optional: Define a MIME object type and its file name extension if you require a MIME type other than the pre-defined types.
- For each needed MIME entry on the MIME type collection page, click New.
- On the MIME type settings page, specify a MIME type and extension.
- Click OK and Save to save the configuration change.
- Regenerate the Web server plug-in configuration.
Servers | Web servers | Web server. | Generate Plug-in | Propagate Plug-in
- Restart the appserver.
Related concepts
Virtual host collection
Virtual hosts
Related tasks
Exporting J2EE applications