Current File : //proc/thread-self/root/proc/self/root/proc/self/root/usr/local/lsws/docs/config.html |
<!DOCTYPE html>
<head>
<meta charset="utf-8" />
<meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1" />
<title>LiteSpeed Web Server Users' Manual - Configuration</title>
<meta name="description" content="LiteSpeed Web Server Users' Manual - Configuration." />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<meta name="robots" content="noindex">
<link rel="shortcut icon" href="img/favicon.ico" />
<link rel="stylesheet" type="text/css" href="css/hdoc.css">
</head>
<body>
<div class="pagewrapper clearfix"><aside class="sidetree ls-col-1-5">
<figure>
<img src="img/lsws_logo.svg" alt="lightspeed web server logo"
width="100px"/>
</figure>
<h2 class="ls-text-thin">
LiteSpeed Web Server
<br />
<span class="current"><a href="index.html">Users' Manual</a></span>
</h2>
<h3 class="ls-text-muted">Version 6.3 — Rev. 0</h3>
<hr/>
<div>
<ul>
<li><a href="license.html">License Enterprise</a></li>
<li><a href="intro.html">Introduction</a></li>
<li><a href="install.html">Installation</a></li>
<li>
<a href="admin.html">Administration</a>
<ul class="menu level2">
<li><a href="ServerStat_Help.html">Service Manager</a></li>
<li><a href="Real_Time_Stats_Help.html">Real-Time Stats</a></li>
</ul>
</li>
<li><a href="security.html">Security</a></li>
<li>
<span class="current"><a href="config.html">Configuration</a></span>
<ul class="level2">
<li><a href="ServGeneral_Help.html">Server General</a></li>
<li><a href="ServLog_Help.html">Server Log</a></li>
<li><a href="ServTuning_Help.html">Server Tuning</a></li>
<li><a href="ServSecurity_Help.html">Server Security</a></li>
<li><a href="Cache_Help.html">Page Cache</a></li>
<li><a href="PageSpeed_Config.html">PageSpeed Config</a></li>
<li><a href="ExtApp_Help.html">External Apps</a></li>
<ul class="level3">
<li><a href="External_FCGI.html">Fast CGI App</a></li>
<li><a href="External_FCGI_Auth.html">Fast CGI Authorizer</a></li>
<li><a href="External_LSAPI.html">LSAPI App</a></li>
<li><a href="External_Servlet.html">Servlet Engine</a></li>
<li><a href="External_WS.html">Web Server</a></li>
<li><a href="External_PL.html">Piped logger</a></li>
<li><a href="External_LB.html">Load Balancer</a></li>
</ul>
<li><a href="ScriptHandler_Help.html">Script Handler</a></li>
<li><a href="PHP_Help.html">PHP</a></li>
<li><a href="App_Server_Help.html">App Server Settings</a></li>
<li><a href="Listeners_General_Help.html">Listener General</a></li>
<li><a href="Listeners_SSL_Help.html">Listener SSL</a></li>
<li><a href="Templates_Help.html">Virtual Host Templates</a></li>
<li><a href="VirtualHosts_Help.html">Virtual Host Basic</a></li>
<li><a href="VHGeneral_Help.html">Virtual Host General</a></li>
<li><a href="VHSecurity_Help.html">Virtual Host Security</a></li>
<li><a href="VHSSL_Help.html">Virtual Host SSL</a></li>
<li>
<a href="VHPageSpeed_Config.html">Virtual Host PageSpeed Config</a>
</li>
<li><a href="Rewrite_Help.html">Rewrite</a></li>
<li><a href="Context_Help.html">Context</a></li>
<ul class="level3">
<li><a href="Static_Context.html">Static Context</a></li>
<li>
<a href="Java_Web_App_Context.html">Java Web App Context</a>
</li>
<li><a href="Servlet_Context.html">Servlet Context</a></li>
<li><a href="FCGI_Context.html">Fast CGI Context</a></li>
<li><a href="LSAPI_Context.html">LSAPI Context</a></li>
<li><a href="Proxy_Context.html">Proxy Context</a></li>
<li><a href="CGI_Context.html">CGI Context</a></li>
<li><a href="LB_Context.html">Load Balancer Context</a></li>
<li><a href="Redirect_Context.html">Redirect Context</a></li>
<li><a href="App_Server_Context.html">App Server Context</a></li>
<li><a href="Rails_Context.html">Rack/Rails Context</a></li>
</ul>
<li><a href="VHAddOns_Help.html">Add-ons</a></li>
</ul>
</li>
<li>
<a href="webconsole.html">Web Console</a>
<ul class="level2">
<li><a href="AdminGeneral_Help.html">Admin Console General</a></li>
<li><a href="AdminSecurity_Help.html">Admin Console Security</a></li>
<li>
<a href="AdminListeners_General_Help.html">
Admin Listener General
</a>
</li>
<li>
<a href="AdminListeners_SSL_Help.html">Admin Listener SSL</a>
</li>
</ul>
</li>
</ul>
</div>
</aside>
<article class="contentwrapper ls-col-3-5 clearfix"><div class="nav-bar ls-spacer-micro-top"><div class="prev">« <a href="security.html">Security</a></div><div class="center"><a href="index.html">Home</a></div><div class="next"><a href="webconsole.html">Web Console</a> »</div></div>
<h1>Configuration</h1>
<section>
<a name="con"></a><h3><b>Concepts</b></h3>
<p>Here are some basic concepts you should know before going into the detail of the configuration.</p>
<a name="vh"></a><h3>Virtual Hosts</h3>
<p>LiteSpeed web server can host multiple web sites (virtual hosts) with one server instance.</p>
<p>Traditionally, virtual hosts are classified into two types: IP-based virtual hosts and
name-based virtual hosts.
IP-based virtual hosts are web sites that have their own unique IP addresses. Name-based
virtual hosts are web sites that are distinguished by their domain name and
thus may share an IP address with other sites. There is no clear
distinction between these two categories in LiteSpeed
Web Server. IP-based virtual hosts are considered just a special kind of
name-based virtual host. Both of them can be easily configured, or even mixed
together.</p>
<p>Unlike other web servers, LiteSpeed Web Server does not have a default web site.
Every web site is configured as a virtual host even if only one web site is hosted.</p>
<a name="l"></a><h3>Listeners</h3>
<p>In LiteSpeed Web Server, a listener is a server socket that listens on a
specific IP address and TCP port. If you imagine the web server as a building, the listeners are
the doors (each with its own IP address and port).
Clients (browsers) have to go through a door (a listener) to submit their requests.</p>
<p>For each listener, an IP address and a port number need to be specified.
IP address can be any valid local IP address, or you can set a wildcard IP
(*) that refers to all available IP addresses on that machine.
A port is an integer between 0 and 65535.
The default port for HTTP is 80 and 443 for HTTPS.
Other ports can be used, though, on UNIX machines, only the super user "root"
has permission to use ports below 1024.</p>
<p>Only one listener is allowed for each IP and port combination.
Thus, if a listener is configured to one port with the wildcard IP address,
you cannot configure another listener to the same port, even if you specify
a particular IP. For example, if there are multiple IP addresses on the web
server machine, and HTTP traffic needs to be allowed on port 8080 for all
IP addresses, this can be configured in two ways: set up one
listener using the wildcard IP (*) and port 8080, or set up multiple
listeners, one for each IP, all listening to port 8080. These two methods
cannot be mixed on a single port.</p>
<p>There are two types of listeners in LiteSpeed Web Server: plain and secure
(SSL). Each secure listener requires a paired SSL private key and SSL certificate.
The private key can be generated with an SSL toolkit like
OpenSSL. The SSL certificate can be self-signed or obtained from
an SSL certificate issuer like VeriSign or Thawte. You can share the same private
key and certificate pair among multiple listeners. </p>
<a name="map"></a><h3>Listener to Virtual Host Mapping</h3>
<p>LiteSpeed's Listener to Virtual Host Mapping provides extra flexibility, allowing you
to:</p>
<ul>
<li>map one listener to one virtual host.</li>
<li>map one listener to different virtual hosts for different domain names.</li>
<li>map multiple listeners to the same virtual host.</li>
<li>map multiple listeners to multiple virtual hosts depending on their domain names.</li>
</ul>
<p>In Listener to Virtual Host Mapping, every listener has a virtual host lookup table
with key-value pairs that specify a domain name (key) for
a particular virtual host (value).</p>
<p>When a browser tries to retrieve a web page from a web server, it first uses a DNS lookup to
find the IP address associated with that domain name. It then sends a request to establish a
TCP connection with the web server on a specific IP and port. If there is a listener assigned
to that IP and port, a connection is established. The browser then sends an HTTP
request, which includes, in the header, the domain name of the web site being accessed.
The web server checks the lookup table associated with that listener for the domain name
in the request. If a match is found, the request is routed to the virtual host for processing.</p>
<p>In order to make a virtual host accessible through a specific listener, you must
make sure that:</p>
<ol>
<li>DNS is configured properly to map the domain name of the web site to the
IP used by that listener. How to configure DNS is beyond the scope of this document.</li>
<li>A mapping to the virtual host for that domain name exists in the listener's
lookup table.</li>
</ol>
<p>A catchall virtual host can be specified for one listener with the wild card domain name
"*". When the server cannot find a matching virtual host, the request will be routed
to the catchall virtual host. If there is no such catchall virtual host configured,
the web server will return error code 404.</p>
</article><div class="ls-col-1-1"><footer class="copyright">Copyright © 2003-2020. <a href="https://www.litespeedtech.com">LiteSpeed Technologies Inc.</a> All rights reserved.</footer>
</div></div>
</body>
</html>