| type=page |
| status=published |
| title=Administering Internet Connectivity |
| next=concurrent.html |
| prev=connectors.html |
| ~~~~~~ |
| |
| = Administering Internet Connectivity |
| |
| [[GSADG00017]][[ablsw]] |
| |
| |
| [[administering-internet-connectivity]] |
| == 13 Administering Internet Connectivity |
| |
| This chapter provides procedures for performing internet connectivity |
| tasks in the {productName} 7 environment by |
| using the `asadmin` command-line utility. |
| |
| The following topics are addressed here: |
| |
| * link:#giusf[About Internet Connectivity] |
| * link:#ggnfu[Administering HTTP Network Listeners] |
| * link:#ggncs[Administering Virtual Servers] |
| |
| Instructions for accomplishing the tasks in this chapter by using the |
| Administration Console are contained in the Administration Console |
| online help. |
| |
| [[giusf]][[GSADG00587]][[about-internet-connectivity]] |
| |
| === About Internet Connectivity |
| |
| The HTTP service provides functionality for deploying web applications |
| and for making deployed web applications accessible by Internet clients, |
| either in a single application server instance or in a cluster of |
| multiple server instances. HTTP services are provided by two kinds of |
| related objects: listeners and virtual servers. |
| |
| For more information about clusters, see the link:ha-administration-guide.html#GSHAG[{productName} High Availability Administration Guide]. |
| |
| The following topics are addressed here: |
| |
| * link:#giuri[About HTTP Network Listeners] |
| * link:#giupz[About Virtual Servers] |
| |
| [[giuri]][[GSADG00766]][[about-http-network-listeners]] |
| |
| ==== About HTTP Network Listeners |
| |
| An HTTP listener, also known as a network listener, is a listen socket |
| that has an Internet Protocol (IP) address, a port number, a server |
| name, and a default virtual server. Each virtual server provides |
| connections between the server and clients through one or more |
| listeners. Each listener must have a unique combination of port number |
| and IP address. For example, an HTTP listener can listen for a host on |
| all configured IP addresses on a given port by specifying the IP address |
| 0.0.0.0. Alternatively, the listener can specify a unique IP address for |
| each listener while using the same port. |
| |
| Because an HTTP listener is a combination of IP address and port number, |
| you can have multiple HTTP listeners with the same IP address and |
| different port numbers, or with different IP addresses and the same port |
| number (if your host was configured to respond to these addresses). |
| However, if an HTTP listener uses the 0.0.0.0 IP address, which listens |
| on all IP addresses on a port, you cannot create HTTP listeners for |
| additional IP addresses that listen on the same port for a specific IP |
| address. For example, if an HTTP listener uses 0.0.0.0:8080 (all IP |
| addresses on port 8080), another HTTP listener cannot use 1.2.3.4:8080. |
| The host running the {productName} typically has access to only one |
| IP address. HTTP listeners typically use the 0.0.0.0 IP address and |
| different port numbers, with each port number serving a different |
| purpose. However, if the host does have access to more than one IP |
| address, each address can serve a different purpose. |
| |
| To access a web application deployed on {productName}, use the URL |
| `http://localhost:8080/` (or `https://localhost:8081/` for a secure |
| application), along with the context root specified for the web |
| application. |
| |
| To access the Administration Console, use the URL |
| `https://localhost:4848/` or `http://localhost:4848/asadmin/` (console |
| default context root). |
| |
| [[giupz]][[GSADG00767]][[about-virtual-servers]] |
| |
| ==== About Virtual Servers |
| |
| A virtual server, sometimes called a virtual host, is an object that |
| allows the same physical server to host multiple Internet domain names. |
| All virtual servers hosted on the same physical server share the IP |
| address of that physical server. A virtual server associates a domain |
| name for a server (such as `www.aaa.com`) with the particular server on |
| which {productName} is running. Each virtual server must be |
| registered with the DNS server for your network. |
| |
| |
| [NOTE] |
| ==== |
| Do not confuse an Internet domain with the administrative domain of |
| {productName}. |
| ==== |
| |
| |
| For example, assume that you want to host the following domains on your |
| physical server: `www.aaa.com`, `www.bbb.com`, and `www.ccc.com`. Assume |
| that these domains are respectively associated with web modules `web1`, |
| `web2`, and `web3`. This means that the following URLs are handled by |
| your physical server: |
| |
| [source] |
| ---- |
| http://www.aaa.com:8080/web1 |
| http://www.bbb.com:8080/web2 |
| http://www.ccc.com:8080/web3 |
| ---- |
| |
| The first URL is mapped to virtual server `www.aaa.com`, the second URL |
| is mapped to virtual server `www.bbb.com`, and the third is mapped to |
| virtual server `www.ccc.com`. For this mapping to work, `www.aaa.com`, |
| `www.bbb.com`, and `www.ccc.com` must all resolve to your physical |
| server's IP address and each virtual server must be registered with the |
| DNS server for your network. In addition, on a UNIX system, add these |
| domains to your `/etc/hosts` file (if the setting for `hosts` in your |
| `/etc/nsswitch.conf` file includes `files`). |
| |
| [[ggnfu]][[GSADG00588]][[administering-http-network-listeners]] |
| |
| === Administering HTTP Network Listeners |
| |
| By default, when {productName} starts, the following HTTP listeners |
| are started automatically: |
| |
| * HTTP listeners associated with the virtual server named `server`: |
| ** The listener named `http-listener-1` does not have security enabled. |
| ** The listener named `http-listener-2` has security enabled. |
| * An HTTP listener named `admin-listener`, associated with the virtual |
| server named `__asadmin`. For this listener, security is not enabled. |
| |
| The following table describes the {productName} default ports for the |
| listeners that use ports. |
| |
| [[GSADG990]][[sthref72]][[ggnpj]] |
| |
| |
| Table 13-1 Default Ports for Listeners |
| |
| [width="100%",cols="18%,13%,69%",options="header",] |
| |=== |
| |Listener |Default Port |Description |
| |Administrative server |4848 |A domain's administrative server is |
| accessed by the Administration Console and the `asadmin` utility. For |
| the Administration Console, specify the port number in the URL of the |
| browser. When running an `asadmin` subcommand remotely, specify the port |
| number by using the `--port` option. |
| |
| |HTTP |8080 |The web server listens for HTTP requests on a port. |
| To access deployed web applications and services, clients connect to this port. |
| |
| |HTTPS |8181 |Web applications configured for secure communications |
| listen on a separate port. |
| |
| |=== |
| |
| |
| The following topics are addressed here: |
| |
| * link:#ggnfh[To Create an Internet Connection] |
| * link:#gjkuy[Administering HTTP Protocols] |
| * link:#gjkzi[Administering HTTP Configurations] |
| * link:#gjkym[Administering HTTP Transports] |
| * link:#gjkwt[Administering HTTP Network Listeners] |
| |
| [[ggnfh]][[GSADG00456]][[to-create-an-internet-connection]] |
| |
| ==== To Create an Internet Connection |
| |
| Use the subcommands in this procedure to create an internet connection |
| with the full range of listener options. A network listener is created |
| behind the scenes. For the shortcut version of this process , see |
| link:#gjimx[To Create an HTTP Network Listener]. |
| |
| 1. Ensure that the server is running. Remote subcommands require a running server. |
| 2. Create an HTTP or HTTPS protocol by using the |
| link:reference-manual/create-protocol.html#GSRFM00051[`create-protocol`] subcommand with the |
| `--securityenabled` option. |
| To use the built-in `http-listener-1` HTTP protocol, |
| or `http-listener-2` HTTPS protocol, skip this step. |
| 3. Create an HTTP configuration by using the |
| link:reference-manual/create-http.html#GSRFM00025[`create-http`] subcommand. |
| To use a built-in protocol, skip this step. |
| 4. Create a transport by using the link:reference-manual/create-transport.html#GSRFM00061[`create-transport`] |
| subcommand. To use the built-in `tcp` transport, skip this step. |
| 5. Create a thread pool by using the |
| link:reference-manual/create-threadpool.html#GSRFM00060[`create-threadpool`] subcommand. |
| To avoid using a thread pool, or to use the built-in `http-thread-pool` |
| thread pool, skip this step. |
| For additional thread pool information, see link:threadpools.html#abluc[Administering Thread Pools]. |
| 6. Create an HTTP listener by using the |
| link:reference-manual/create-network-listener.html#GSRFM00046[`create-network-listener`] subcommand. |
| Specify a protocol and transport, optionally a thread pool. |
| 7. To apply your changes, restart {productName}. See link:domains.html#ginqj[To Restart a Domain]. |
| |
| [[GSADG991]] |
| |
| See Also |
| |
| You can also view the full syntax and options of the subcommand by |
| typing a command such as `asadmin help create-http-listener` at the |
| command line. |
| |
| [[gjkuy]][[GSADG00768]][[administering-http-protocols]] |
| |
| ==== Administering HTTP Protocols |
| |
| Each HTTP listener has an HTTP protocol, which is created either by |
| using the `create-protocol` subcommand or by using the built-in |
| protocols that are applied when you follow the instructions in |
| link:#gjimx[To Create an HTTP Network Listener]. |
| |
| The following topics are addressed here: |
| |
| * link:#gjhot[To Create a Protocol] |
| * link:#gjhna[To List Protocols] |
| * link:#gjhnx[To Delete a Protocol] |
| |
| [[gjhot]][[GSADG00457]][[to-create-a-protocol]] |
| |
| ===== To Create a Protocol |
| |
| Use the `create-protocol` subcommand in remote mode to create a |
| protocol. |
| |
| 1. Ensure that the server is running. Remote subcommands require a running server. |
| 2. Create a protocol by using the link:reference-manual/create-protocol.html#GSRFM00051[`create-protocol`] |
| + |
| Information about options and properties for the subcommand are included |
| in this help page. |
| |
| [[GSADG00245]][[gjhos]] |
| Example 13-1 Creating an HTTP Protocol |
| |
| This example creates a protocol named `http-1` with security enabled. |
| |
| [source] |
| ---- |
| asadmin> create-protocol --securityenabled=true http-1 |
| Command create-protocol executed successfully. |
| ---- |
| |
| [[GSADG992]] |
| |
| See Also |
| |
| You can also view the full syntax and options of the subcommand by |
| typing `asadmin help create-protocol` at the command line. |
| |
| [[gjhna]][[GSADG00458]][[to-list-protocols]] |
| |
| ===== To List Protocols |
| |
| Use the `list-protocols` subcommand in remote mode to list the existing |
| HTTP protocols. |
| |
| 1. Ensure that the server is running. Remote subcommands require a running server. |
| 2. List the existing protocols by using the |
| link:reference-manual/list-protocols.html#GSRFM00195[`list-protocols`] subcommand. |
| |
| [[GSADG00246]][[gjhqg]] |
| Example 13-2 Listing the Protocols |
| |
| This example lists the existing protocols. |
| |
| [source] |
| ---- |
| asadmin> list-protocols |
| admin-listener |
| http-1 |
| http-listener-1 |
| http-listener-2 |
| Command list-protocols executed successfully. |
| ---- |
| |
| [[GSADG993]] |
| |
| See Also |
| |
| You can also view the full syntax and options of the subcommand by |
| typing `asadmin help list-protocols` at the command line. |
| |
| [[gjhnx]][[GSADG00459]][[to-delete-a-protocol]] |
| |
| ===== To Delete a Protocol |
| |
| Use the `delete-protocol` subcommand in remote mode to remove a |
| protocol. |
| |
| 1. Ensure that the server is running. Remote subcommands require a running server. |
| 2. Delete a protocol by using the link:reference-manual/delete-protocol.html#GSRFM00103[`delete-protocol`] |
| subcommand |
| |
| [[GSADG00247]][[gjhop]] |
| Example 13-3 Deleting a Protocol |
| |
| This example deletes the protocol named `http-1`. |
| |
| [source] |
| ---- |
| asadmin> delete-protocol http-1 |
| Command delete-protocol executed successfully. |
| ---- |
| |
| [[GSADG994]] |
| |
| See Also |
| |
| You can also view the full syntax and options of the subcommand by |
| typing `asadmin help delete-protocol` at the command line. |
| |
| [[gjkzi]][[GSADG00769]][[administering-http-configurations]] |
| |
| ==== Administering HTTP Configurations |
| |
| Each HTTP listener has an HTTP configuration, which is created either by |
| using the `create-http` subcommand or by using the built-in |
| configurations that are applied when you follow the instructions in |
| link:#gjimx[To Create an HTTP Network Listener]. |
| |
| The following topics are addressed here: |
| |
| * link:#gjhqc[To Create an HTTP Configuration] |
| * link:#gjhqa[To Delete an HTTP Configuration] |
| |
| [[gjhqc]][[GSADG00460]][[to-create-an-http-configuration]] |
| |
| ===== To Create an HTTP Configuration |
| |
| Use the `create-http` subcommand in remote mode to create a set of HTTP |
| parameters for a protocol. This set of parameters configures one or more |
| network listeners, |
| |
| 1. Ensure that the server is running. Remote subcommands require a running server. |
| 2. Create an HTTP configuration by using the |
| link:reference-manual/create-http.html#GSRFM00025[`create-http`] subcommand. |
| Information about options and properties for the subcommand are included |
| in this help page. |
| |
| [[GSADG00248]][[gjhnz]] |
| Example 13-4 Creating an HTTP Configuration |
| |
| This example creates an HTTP parameter set for the protocol named |
| `http-1`. |
| |
| [source] |
| ---- |
| asadmin> create-http --timeout-seconds 60 --default-virtual-server server http-1 |
| Command create-http executed successfully. |
| ---- |
| |
| [[GSADG995]] |
| |
| See Also |
| |
| You can also view the full syntax and options of the subcommand by |
| typing `asadmin help create-http` at the command line. |
| |
| [[gjhqa]][[GSADG00461]][[to-delete-an-http-configuration]] |
| |
| ===== To Delete an HTTP Configuration |
| |
| Use the `delete-http` subcommand in remote mode to remove HTTP |
| parameters from a protocol. |
| |
| 1. Ensure that the server is running. Remote subcommands require a running server. |
| 2. Delete the HTTP parameters from a protocol by using the |
| link:reference-manual/delete-http.html#GSRFM00077[`delete-http`] subcommand. |
| |
| [[GSADG00249]][[gjhov]] |
| Example 13-5 Deleting an HTTP Configuration |
| |
| This example deletes the HTTP parameter set from a protocol named `http-1`. |
| |
| [source] |
| ---- |
| asadmin> delete-http http-1 |
| Command delete-http executed successfully. |
| ---- |
| |
| [[GSADG996]] |
| |
| See Also |
| |
| You can also view the full syntax and options of the subcommand by |
| typing `asadmin help delete-http` at the command line. |
| |
| [[gjkym]][[GSADG00770]][[administering-http-transports]] |
| |
| ==== Administering HTTP Transports |
| |
| Each HTTP listener has an HTTP transport, which is created either by |
| using the `create-transport` subcommand or by using the built-in |
| transports that are applied when you follow the instructions in |
| link:#gjimx[To Create an HTTP Network Listener]. |
| |
| The following topics are addressed here: |
| |
| * link:#gjhps[To Create a Transport] |
| * link:#gjhmx[To List Transports] |
| * link:#gjhqp[To Delete a Transport] |
| |
| [[gjhps]][[GSADG00462]][[to-create-a-transport]] |
| |
| ===== To Create a Transport |
| |
| Use the `create-transport` subcommand in remote mode to create a |
| transport for a network listener, |
| |
| 1. Ensure that the server is running. Remote subcommands require a running server. |
| 2. Create a transport by using the link:reference-manual/create-transport.html#GSRFM00061[`create-transport`] |
| subcommand. |
| Information about options and properties for the subcommand are included in this help page. |
| |
| [[GSADG00250]][[gjhpx]] |
| Example 13-6 Creating a Transport |
| |
| This example creates a transport named `http1-trans` that uses a |
| non-default number of acceptor threads. |
| |
| [source] |
| ---- |
| asadmin> create-transport --acceptorthreads 100 http1-trans |
| Command create-transport executed successfully. |
| ---- |
| |
| [[GSADG997]] |
| |
| See Also |
| |
| You can also view the full syntax and options of the subcommand by |
| typing `asadmin help create-transport` at the command line. |
| |
| [[gjhmx]][[GSADG00463]][[to-list-transports]] |
| |
| ===== To List Transports |
| |
| Use the `list-transports` subcommand in remote mode to list the existing |
| HTTP transports. |
| |
| 1. Ensure that the server is running. Remote subcommands require a running server. |
| 2. List the existing transports by using the |
| link:reference-manual/list-transports.html#GSRFM00206[`list-transports`] subcommand. |
| |
| [[GSADG00251]][[gjhqj]] |
| Example 13-7 Listing HTTP Transports |
| |
| This example lists the existing transports. |
| |
| [source] |
| ---- |
| asadmin> list-transports |
| http1-trans |
| tcp |
| Command list-transports executed successfully. |
| ---- |
| |
| [[GSADG998]] |
| |
| See Also |
| |
| You can also view the full syntax and options of the subcommand by |
| typing `asadmin help list-transports` at the command line. |
| |
| [[gjhqp]][[GSADG00464]][[to-delete-a-transport]] |
| |
| ===== To Delete a Transport |
| |
| Use the `delete-transport` subcommand in remote mode to remove a |
| transport. |
| |
| 1. Ensure that the server is running. Remote subcommands require a running server. |
| 2. Delete a transport by using the link:reference-manual/delete-transport.html#GSRFM00112[`delete-transport`] |
| subcommand. |
| |
| [[GSADG00252]][[gjhoh]] |
| Example 13-8 Deleting a Transport |
| |
| This example deletes he transport named `http1-trans`. |
| |
| [source] |
| ---- |
| asadmin> delete-transport http1-trans |
| Command delete-transport executed successfully. |
| ---- |
| |
| [[GSADG999]] |
| |
| See Also |
| |
| You can also view the full syntax and options of the subcommand by |
| typing `asadmin help delete-transport` at the command line. |
| |
| [[gjkwt]][[GSADG00771]][[administering-http-network-listeners-1]] |
| |
| ==== Administering HTTP Network Listeners |
| |
| The following topics are addressed here: |
| |
| * link:#gjimx[To Create an HTTP Network Listener] |
| * link:#ggnbv[To List HTTP Network Listeners] |
| * link:#giwls[To Update an HTTP Network Listener] |
| * link:#ggndu[To Delete an HTTP Network Listener] |
| * link:#ggnbj[To Configure an HTTP Listener for SSL] |
| * link:#CHDEDCEA[To Configure Optional Client Authentication for SSL] |
| * link:#CHDHEFHG[To Configure a Custom SSL Implementation] |
| * link:#ggncl[To Delete SSL From an HTTP Listener] |
| * link:#gixjb[To Assign a Default Virtual Server to an HTTP Listener] |
| |
| [[gjimx]][[GSADG00465]][[to-create-an-http-network-listener]] |
| |
| ===== To Create an HTTP Network Listener |
| |
| Use the `create-http-listener` subcommand or the |
| `create-network-listener` subcommand in remote mode to create a |
| listener. These subcommands provide backward compatibility and also |
| provide a shortcut for creating network listeners that use the HTTP |
| protocol. Behind the scenes, a network listener is created as well as |
| its associated protocol, transport, and HTTP configuration. This method |
| is a convenient shortcut, but it gives access to only a limited number |
| of options. If you want to specify the full range of listener options, |
| follow the instructions in link:#ggnfh[To Create an Internet |
| Connection]. |
| |
| 1. Ensure that the server is running. Remote subcommands require a running server. |
| 2. Create an HTTP network listener by using the |
| link:reference-manual/create-network-listener.html#GSRFM00046[`create-network-listener`] subcommand or the |
| link:reference-manual/create-http-listener.html#GSRFM00030[`create-http-listener`] subcommand. |
| 3. If needed, restart the server. |
| + |
| If you edit the special HTTP network listener named `admin-listener`, |
| you must restart the server for changes to take effect. See |
| link:domains.html#ginqj[To Restart a Domain]. |
| |
| [[GSADG00253]][[ggpjk]] |
| Example 13-9 Creating an HTTP Listener |
| |
| This example creates an HTTP listener named `sampleListener` that uses a |
| non-default number of acceptor threads. Security is not enabled at |
| runtime. |
| |
| [source] |
| ---- |
| asadmin> create-http-listener --listeneraddress 0.0.0.0 |
| --listenerport 7272 --defaultvs server --servername host1.sun.com |
| --acceptorthreads 100 --securityenabled=false |
| --enabled=false sampleListener |
| Command create-http-listener executed successfully. |
| ---- |
| |
| [[GSADG00254]][[gjimj]] |
| Example 13-10 Creating a Network Listener |
| |
| This example a network listener named `sampleListener` that is not |
| enabled at runtime: |
| |
| [source] |
| ---- |
| asadmin> create-network-listener --listenerport 7272 protocol http-1 |
| --enabled=false sampleListener |
| Command create-network-listener executed successfully. |
| ---- |
| |
| [[GSADG1000]] |
| |
| See Also |
| |
| You can also view the full syntax and options of the subcommand by |
| typing `asadmin help create-http-listener` or |
| `asadmin help create-network-listener` at the command line. |
| |
| [[ggnbv]][[GSADG00466]][[to-list-http-network-listeners]] |
| |
| ===== To List HTTP Network Listeners |
| |
| Use the `list-http-listeners` subcommand or the `list-network-listeners` |
| subcommand in remote mode to list the existing HTTP listeners. |
| |
| 1. Ensure that the server is running. Remote subcommands require a running server. |
| 2. List HTTP listeners by using the |
| link:reference-manual/list-http-listeners.html#GSRFM00168[`list-http-listeners`] or |
| link:reference-manual/list-network-listeners.html#GSRFM00186[`list-network-listeners`] subcommand. |
| |
| [[GSADG00255]][[ggpgw]] |
| Example 13-11 Listing HTTP Listeners |
| |
| This example lists the HTTP listeners. The same output is given if you |
| use the `list-network-listeners` subcommand. |
| |
| [source] |
| ---- |
| asadmin> list-http-listeners |
| admin-listener |
| http-listener-2 |
| http-listener-1 |
| Command list-http-listeners executed successfully. |
| ---- |
| |
| [[GSADG1001]] |
| |
| See Also |
| |
| You can also view the full syntax and options of the subcommand by |
| typing `asadmin help list-http-listeners` or |
| `asadmin help list-network-listeners` at the command line. |
| |
| [[giwls]][[GSADG00467]][[to-update-an-http-network-listener]] |
| |
| ===== To Update an HTTP Network Listener |
| |
| 1. List HTTP listeners by using the |
| link:reference-manual/list-http-listeners.html#GSRFM00168[`list-http-listeners`] or |
| link:reference-manual/list-network-listeners.html#GSRFM00186[`list-network-listeners`] subcommand. |
| 2. Modify the values for the specified listener by using the |
| link:reference-manual/set.html#GSRFM00226[`set`] subcommand. |
| + |
| The listener is identified by its dotted name. |
| |
| [[GSADG00256]][[giwiw]] |
| Example 13-12 Updating an HTTP Network Listener |
| |
| This example changes `security-enabled` to `false` on `http-listener-2`. |
| |
| [source] |
| ---- |
| asadmin> set server.network-config.protocols.protocol.http-listener-2.security-enabled=false |
| Command set executed successfully. |
| ---- |
| |
| [[ggndu]][[GSADG00468]][[to-delete-an-http-network-listener]] |
| |
| ===== To Delete an HTTP Network Listener |
| |
| Use the `delete-http-listener` subcommand or the |
| `delete-network-listener` subcommand in remote mode to delete an |
| existing HTTP listener. This disables secure communications for the |
| listener. |
| |
| 1. Ensure that the server is running. Remote subcommands require a running server. |
| 2. List HTTP listeners by using the |
| link:reference-manual/list-http-listeners.html#GSRFM00168[`list-http-listeners`] subcommand. |
| 3. Delete an HTTP listener by using the |
| link:reference-manual/delete-http-listener.html#GSRFM00082[`delete-http-listener`] or |
| link:reference-manual/delete-network-listener.html#GSRFM00098[`delete-network-listener`] subcommand. |
| 4. To apply your changes, restart {productName}. |
| + |
| See link:domains.html#ginqj[To Restart a Domain]. |
| |
| [[GSADG00257]][[ggpjr]] |
| Example 13-13 Deleting an HTTP Listener |
| |
| This example deletes the HTTP listener named `sampleListener`: |
| |
| [source] |
| ---- |
| asadmin> delete-http-listener sampleListener |
| Command delete-http-listener executed successfully. |
| ---- |
| |
| [[GSADG1002]] |
| |
| See Also |
| |
| You can also view the full syntax and options of the subcommand by |
| typing `asadmin help delete-http-listener` or |
| `asadmin help delete-network-listener` at the command line. |
| |
| [[ggnbj]][[GSADG00469]][[to-configure-an-http-listener-for-ssl]] |
| |
| ===== To Configure an HTTP Listener for SSL |
| |
| Use the `create-ssl` subcommand in remote mode to create and configure |
| an SSL element in the specified listener. This enables secure |
| communication for the listener. |
| |
| 1. Ensure that the server is running. Remote subcommands require a running server. |
| 2. Configure an HTTP listener by using the |
| link:reference-manual/create-ssl.html#GSRFM00058[`create-ssl`] subcommand. |
| 3. To apply your changes, restart {productName}. |
| + |
| See link:domains.html#ginqj[To Restart a Domain]. |
| |
| [[GSADG00258]][[ggphv]] |
| Example 13-14 Configuring an HTTP Listener for SSL |
| |
| This example enables the HTTP listener named `http-listener-1` for SSL: |
| |
| [source] |
| ---- |
| asadmin> create-ssl --type http-listener --certname sampleCert http-listener-1 |
| Command create-ssl executed successfully. |
| ---- |
| |
| [[GSADG1003]] |
| |
| See Also |
| |
| You can also view the full syntax and options of the subcommand by |
| typing `asadmin help create-ssl` at the command line. |
| |
| [[CHDEDCEA]][[GSADG1106]][[to-configure-optional-client-authentication-for-ssl]] |
| |
| ===== To Configure Optional Client Authentication for SSL |
| |
| In {productName}, you can configure the SSL protocol of an HTTP |
| listener such that it requests a certificate before permitting a client |
| connection, but does not refuse a connection if the client does not |
| provide one. To enable this feature, set the `client-auth` property of |
| the SSL protocol to the value `want`. For example: |
| |
| [source] |
| ---- |
| asadmin> set configs.config.config-name.network-config.protocols.\ |
| protocol.listener-name.ssl.client-auth=want |
| ---- |
| |
| [[CHDHEFHG]][[GSADG1107]][[to-configure-a-custom-ssl-implementation]] |
| |
| ===== To Configure a Custom SSL Implementation |
| |
| In {productName}, you can configure the SSL protocol an HTTP listener |
| such that it uses a custom implementation of SSL. To enable this |
| feature, set the `classname` property of the SSL protocol to the name of |
| a class that implements the `com.sun.grizzly.util.net.SSLImplementation` |
| interface. For example: |
| |
| [source] |
| ---- |
| asadmin> set configs.config.config-name.network-config.protocols.\ |
| protocol.listener-name.ssl.classname=SSLImplementation-class-name |
| ---- |
| |
| By default, {productName} uses the implementation |
| `com.sun.enterprise.security.ssl.GlassfishSSLImpl` for the SSL protocol. |
| |
| [[ggncl]][[GSADG00470]][[to-delete-ssl-from-an-http-listener]] |
| |
| ===== To Delete SSL From an HTTP Listener |
| |
| Use the `delete-ssl` subcommand in remote mode to delete the SSL element |
| in the specified listener. This disables secure communications for the |
| listener. |
| |
| 1. Ensure that the server is running. Remote subcommands require a running server. |
| 2. Delete SSL from an HTTP listener by using the |
| link:reference-manual/delete-ssl.html#GSRFM00109[`delete-ssl`] subcommand. |
| 3. To apply your changes, restart {productName}. |
| + |
| See link:domains.html#ginqj[To Restart a Domain]. |
| |
| [[GSADG00259]][[ggpln]] |
| Example 13-15 Deleting SSL From an HTTP Listener |
| |
| This example disables SSL for the HTTP listener named `http-listener-1`: |
| |
| [source] |
| ---- |
| asadmin> delete-ssl --type http-listener http-listener-1 |
| Command delete-http-listener executed successfully. |
| ---- |
| |
| [[GSADG1004]] |
| |
| See Also |
| |
| You can also view the full syntax and options of the subcommand by |
| typing `asadmin help delete-ssl` at the command line. |
| |
| [[gixjb]][[GSADG00471]][[to-assign-a-default-virtual-server-to-an-http-listener]] |
| |
| ===== To Assign a Default Virtual Server to an HTTP Listener |
| |
| 1. In the Administration Console, open the HTTP Service component under |
| the relevant configuration. |
| 2. Open the HTTP Listeners component under the HTTP Service component. |
| 3. Select or create a new HTTP listener. |
| 4. Select from the Default Virtual Server drop-down list. |
| + |
| For more information, see link:#beaga[To Assign a Default Web Module to |
| a Virtual Server]. |
| |
| [[GSADG1005]] |
| |
| See Also |
| |
| For details, click the Help button in the Administration Console from |
| the HTTP Listeners page. |
| |
| [[ggncs]][[GSADG00589]][[administering-virtual-servers]] |
| |
| === Administering Virtual Servers |
| |
| A virtual server is a virtual web server that serves content targeted |
| for a specific URL. Multiple virtual servers can serve content using the |
| same or different host names, port numbers, or IP addresses. The HTTP |
| service directs incoming web requests to different virtual servers based |
| on the URL. |
| |
| When you first install {productName}, a default virtual server is |
| created. You can assign a default virtual server to each new HTTP |
| listener you create. |
| |
| Web applications and Jakarta EE applications containing web components (web |
| modules) can be assigned to virtual servers during deployment. A web |
| module can be assigned to more than one virtual server, and a virtual |
| server can have more than one web module assigned to it. If you deploy a |
| web application and don't specify any assigned virtual servers, the web |
| application is assigned to all currently defined virtual servers. If you |
| then create additional virtual servers and want to assign existing web |
| applications to them, you must redeploy the web applications. For more |
| information about deployment, see the link:application-deployment-guide.html#GSDPG[{productName} Application Deployment Guide]. |
| |
| You can define virtual server properties using the `asadmin set` |
| command. For example: |
| |
| [source] |
| ---- |
| asadmin> set server-config.http-service.virtual-server.MyVS.property.sso-enabled="true" |
| ---- |
| |
| Some virtual server properties can be set for a specific web |
| application. For details, see "link:application-deployment-guide/dd-elements.html#GSDPG00161[glassfish-web-app]" in |
| {productName} Application Deployment Guide. |
| |
| The following topics are addressed here: |
| |
| * link:#ggnfr[To Create a Virtual Server] |
| * link:#ggndw[To List Virtual Servers] |
| * link:#giwkp[To Update a Virtual Server] |
| * link:#ggnen[To Delete a Virtual Server] |
| * link:#beaga[To Assign a Default Web Module to a Virtual Server] |
| * link:#gixku[To Assign a Virtual Server to an Application or Module] |
| * link:#glavy[To Set `JSESSIONIDSSO` Cookie Attributes] |
| |
| [[ggnfr]][[GSADG00472]][[to-create-a-virtual-server]] |
| |
| ==== To Create a Virtual Server |
| |
| By default, when {productName} starts, the following virtual servers |
| are started automatically: |
| |
| * A virtual server named `server`, which hosts all user-defined web |
| modules. |
| + |
| For development, testing, and deployment of web services in a |
| non-production environment, `server` is often the only virtual server |
| required. |
| * A virtual server named `__asadmin`, which hosts all |
| administration-related web modules (specifically, the Administration |
| Console). This server is restricted, which means that you cannot deploy |
| web modules to this virtual server. |
| |
| In a production environment, additional virtual servers provide hosting |
| facilities for users and customers so that each appears to have its own |
| web server, even though there is only one physical server. |
| |
| Use the `create-virtual-server` subcommand in remote mode to create the |
| named virtual server. |
| |
| [[GSADG1006]] |
| |
| Before You Begin |
| |
| A virtual server must specify an existing HTTP listener. Because the |
| virtual server cannot specify an HTTP listener that is already being |
| used by another virtual server, create at least one HTTP listener before |
| creating a new virtual server. |
| |
| 1. Ensure that the server is running. Remote subcommands require a running server. |
| 2. Create a virtual server by using the |
| link:reference-manual/create-virtual-server.html#GSRFM00062[`create-virtual-server`] subcommand. |
| + |
| Information about properties for this subcommand is included in this |
| help page. |
| 3. To apply your changes, restart {productName}. |
| + |
| See link:domains.html#ginqj[To Restart a Domain]. |
| |
| [[GSADG00260]][[ggpha]] |
| Example 13-16 Creating a Virtual Server |
| |
| This example creates a virtual server named `sampleServer` on |
| `localhost`. |
| |
| [source] |
| ---- |
| asadmin> create-virtual-server sampleServer |
| Command create-virtual-server executed successfully. |
| ---- |
| |
| [[GSADG1007]] |
| |
| See Also |
| |
| You can also view the full syntax and options of the subcommand by |
| typing `asadmin help create-virutal-server` at the command line. |
| |
| [[ggndw]][[GSADG00473]][[to-list-virtual-servers]] |
| |
| ==== To List Virtual Servers |
| |
| Use the `list-virtual-servers` subcommand in remote mode to list the |
| existing virtual servers. |
| |
| 1. Ensure that the server is running. Remote subcommands require a running server. |
| 2. List virtual servers by using the |
| link:reference-manual/list-virtual-servers.html#GSRFM00207[`list-virtual-servers`] subcommand. |
| |
| [[GSADG00261]][[ggpgr]] |
| Example 13-17 Listing Virtual Servers |
| |
| This example lists the virtual servers for `localhost`. |
| |
| [source] |
| ---- |
| asadmin> list-virtual-servers |
| sampleListener |
| admin-listener |
| http-listener-2 |
| http-listener-1 |
| Command list-http-listeners executed successfully. |
| ---- |
| |
| [[GSADG1008]] |
| |
| See Also |
| |
| You can also view the full syntax and options of the subcommand by |
| typing `asadmin help list-virutal-servers` at the command line. |
| |
| [[giwkp]][[GSADG00474]][[to-update-a-virtual-server]] |
| |
| ==== To Update a Virtual Server |
| |
| 1. List virtual servers by using the |
| link:reference-manual/list-virtual-servers.html#GSRFM00207[`list-virtual-servers`] subcommand. |
| 2. Modify the values for the specified virtual server by using the |
| link:reference-manual/set.html#GSRFM00226[`set`] subcommand. |
| + |
| The virtual server is identified by its dotted name. |
| |
| [[ggnen]][[GSADG00475]][[to-delete-a-virtual-server]] |
| |
| ==== To Delete a Virtual Server |
| |
| Use the `delete-virtual-server` subcommand in remote mode to delete an |
| existing virtual server. |
| |
| 1. Ensure that the server is running. Remote subcommands require a running server. |
| 2. List virtual servers by using the |
| link:reference-manual/list-virtual-servers.html#GSRFM00207[`list-virtual-servers`] subcommand. |
| 3. If necessary, notify users that the virtual server is being deleted. |
| 4. Delete a virtual server by using the |
| link:reference-manual/delete-virtual-server.html#GSRFM00113[`delete-virtual-server`] subcommand. |
| 5. To apply your changes, restart {productName}. |
| + |
| See link:domains.html#ginqj[To Restart a Domain]. |
| |
| [[GSADG00262]][[ggpmd]] |
| Example 13-18 Deleting a Virtual Server |
| |
| This example deletes the virtual server named `sampleServer` from |
| `localhost`. |
| |
| [source] |
| ---- |
| asadmin> delete-virtual-server sampleServer |
| Command delete-virtual-server executed successfully. |
| ---- |
| |
| [[GSADG1009]] |
| |
| See Also |
| |
| You can also view the full syntax and options of the subcommand by |
| typing `asadmin help delete-virutal-server` at the command line. |
| |
| [[beaga]][[GSADG00772]][[to-assign-a-default-web-module-to-a-virtual-server]] |
| |
| ==== To Assign a Default Web Module to a Virtual Server |
| |
| A default web module can be assigned to the default virtual server and |
| to each new virtual server. To access the default web module for a |
| virtual server, point the browser to the URL for the virtual server, but |
| do not supply a context root. For example: |
| |
| [source] |
| ---- |
| http://myvserver:3184/ |
| ---- |
| |
| A virtual server with no default web module assigned serves HTML or |
| JavaServer Pages ( JSP) content from its document root, which is usually |
| domain-dir``/docroot``. To access this HTML or JSP content, point your |
| browser to the URL for the virtual server, do not supply a context root, |
| but specify the target file. |
| |
| For example: |
| |
| [source] |
| ---- |
| http://myvserver:3184/hellothere.jsp |
| ---- |
| |
| [[gixku]][[GSADG00476]][[to-assign-a-virtual-server-to-an-application-or-module]] |
| |
| ==== To Assign a Virtual Server to an Application or Module |
| |
| You can assign a virtual server to a deployed application or web module. |
| |
| [[GSADG1010]] |
| |
| Before You Begin |
| |
| The application or module must already be deployed. For more |
| information, see the link:application-deployment-guide.html#GSDPG[{productName} |
| Application Deployment Guide]. |
| |
| 1. In the Administration Console, open the HTTP Service component under |
| the relevant configuration. |
| 2. Open the Virtual Servers component under the HTTP Service component. |
| 3. Select the virtual server to which you want to assign a default web |
| module. |
| 4. Select the application or web module from the Default Web Module |
| drop-down list. |
| + |
| For more information, see link:#beaga[To Assign a Default Web Module to |
| a Virtual Server]. |
| |
| [[glavy]][[GSADG00477]][[to-set-jsessionidsso-cookie-attributes]] |
| |
| ==== To Set `JSESSIONIDSSO` Cookie Attributes |
| |
| Use the `sso-cookie-http-only` and `sso-cookie-secure` virtual server |
| attributes to set the `HttpOnly` and `Secure` attributes of any |
| `JSESSIONIDSSO` cookies associated with web applications deployed to the |
| virtual server. |
| |
| Use the link:reference-manual/set.html#GSRFM00226[`set`] subcommand to set the value of the |
| `sso-cookie-http-only` and `sso-cookie-secure` virtual server |
| attributes. |
| |
| The values supported for these attributes are as follows: |
| |
| `sso-cookie-http-only`:: |
| A boolean value that specifies whether the `HttpOnly` attribute is |
| included in `JSESSIONIDSSO` cookies. When set to `true`, which is the |
| default, the `HttpOnly` attribute is included. When set to `false`, |
| the `HttpOnly` attribute is not included. |
| `sso-cookie-secure`:: |
| A string value that specifies whether the `Secure` attribute is |
| included in `JSESSIONIDSSO` cookies. Allowed values are as follows: |
| + |
| * `true` — The `Secure` attribute is included. |
| * `false` — The `Secure` attribute is not included. |
| * `dynamic` — The `Secure` attribute setting is inherited from the |
| first session participating in SSO. This is the default value. |
| |
| |