<!--

    Copyright (c) 2005, 2018 Oracle and/or its affiliates. All rights reserved.

    This program and the accompanying materials are made available under the
    terms of the Eclipse Public License v. 2.0, which is available at
    http://www.eclipse.org/legal/epl-2.0.

    This Source Code may also be made available under the following Secondary
    Licenses when the conditions for such availability set forth in the
    Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
    version 2 with the GNU Classpath Exception, which is available at
    https://www.gnu.org/software/classpath/license.html.

    SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0

-->

<p><a id="ref-httplisteners" name="ref-httplisteners"></a></p>

<h4><a id="sthref110" name="sthref110"></a>HTTP Listeners</h4>
<a name="BEGIN" id="BEGIN"></a>
<p>Use the HTTP Listeners page to configure HTTP listeners.</p>
<p>An HTTP listener is a type of network listener. To access advanced features, you can edit an HTTP listener using the Network Listener pages.</p>
<p>When you first install the GlassFish Server, three HTTP listeners exist by default, with the names <code>admin-listener</code>, <code>http-listener1</code>, and <code>http-listener2</code>. The <code>http-listener2</code>, which is configured with SSL, is disabled by default.</p>
<p>For each HTTP listener, the following information is provided.</p>
<dl>
<dt>Name</dt>
<dd>
<p>The name of the HTTP listener.</p>
</dd>
<dt>Port #</dt>
<dd>
<p>The port number on which the HTTP listener is listening.</p>
</dd>
<dt>Address</dt>
<dd>
<p>The IP address used by the HTTP listener.</p>
</dd>
<dt>Enabled</dt>
<dd>
<p>True if the HTTP listener is enabled, or false if the HTTP listener is not enabled.</p>
</dd>
</dl>
<p>The HTTP Listeners table also contains the following options.</p>
<dl>
<dt>New</dt>
<dd>
<p>Button to create a new HTTP listener.</p>
</dd>
<dt>Delete</dt>
<dd>
<p>Button to delete one or more selected HTTP listeners.</p>
</dd>
</dl>
<a id="sthref111" name="sthref111"></a>
<h5>Related Tasks</h5>
<ul>
<li>
<p><a href="task-httplistenernew.html">To Create an HTTP Listener</a></p>
</li>
<li>
<p><a href="task-httplisteneredit.html">To Edit an HTTP Listener</a></p>
</li>
<li>
<p><a href="task-httplistenerdelete.html">To Delete an HTTP Listener</a></p>
</li>
<li>
<p><a href="task-httplistenerssl.html">To Edit SSL Settings for an HTTP Listener</a></p>
</li>
<li>
<p><a href="task-virtualservercreate.html">To Create a Virtual Server</a></p>
</li>
<li>
<p><a href="task-networklistenernew.html">To Create a Network Listener</a></p>
</li>
<li>
<p><a href="task-protocolhttpedit.html">To Edit HTTP Settings for a Protocol</a></p>
</li>
</ul>
<a id="sthref112" name="sthref112"></a>
<h5>Related asadmin Commands</h5>
<ul>
<li>
<p><a href="http://www.oracle.com/pls/topic/lookup?ctx=E26576_01&id=GSRFM00030"><code>create-http-listener</code>(1)</a></p>
</li>
<li>
<p><a href="http://www.oracle.com/pls/topic/lookup?ctx=E26576_01&id=GSRFM00168"><code>list-http-listeners</code>(1)</a></p>
</li>
<li>
<p><a href="http://www.oracle.com/pls/topic/lookup?ctx=E26576_01&id=GSRFM00082"><code>delete-http-listener</code>(1)</a></p>
</li>
<li>
<p><a href="http://www.oracle.com/pls/topic/lookup?ctx=E26576_01&id=GSRFM00046"><code>create-network-listener</code>(1)</a></p>
</li>
<li>
<p><a href="http://www.oracle.com/pls/topic/lookup?ctx=E26576_01&id=GSRFM00186"><code>list-network-listeners</code>(1)</a></p>
</li>
<li>
<p><a href="http://www.oracle.com/pls/topic/lookup?ctx=E26576_01&id=GSRFM00098"><code>delete-network-listener</code>(1)</a></p>
</li>
</ul>


<small>Copyright &#169; 2005, 2017, Oracle and/or its affiliates. All rights reserved. <a href="docinfo.html">Legal Notices</a></small>
