Spade

Mini Shell

Directory:~$ /usr/local/lsws/docs/
Upload File

[Home] [System Details] [Kill Me]
Current File:~$ //usr/local/lsws/docs/VHGeneral_Help.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 - Virtual Host
General</title>
  <meta name="description" content="LiteSpeed Web Server
Users' Manual - Virtual Host General." />
  <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
&nbsp;&#8212;&nbsp;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>
        <a href="config.html">Configuration</a>
	    <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><span class="current"><a
href="VHGeneral_Help.html">Virtual Host
General</a></span></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">&#171 <a
href="VirtualHosts_Help.html">Virtual Hosts
Basic</a></div><div class="center"><a
href="config.html">Configuration</a></div><div
class="next"><a
href="VHSecurity_Help.html">Virtual Host Security</a>
&#187;</div></div>
<h1>Virtual Host General</h1><h2 id="top">Table
of Contents</h2><section class="toc"><section
class="toc-row"><header>General</header><p>
<a href="#docRoot">Document Root</a> | <a
href="#vhadminEmails">Administrator Email</a> | <a
href="#vhEnableGzip">Enable Compression</a> | <a
href="#enableIpGeo">Enable GeoLocation Lookup</a> |
<a
href="#cgroups">cgroups</a></p></section>
<section class="toc-row"><header>Virtual Host
Log</header><p>
<a href="#logUseServer">Use Server's Log</a> |
<a href="#vhlog_fileName">File Name</a> | <a
href="#vhlog_logLevel">Log Level</a> | <a
href="#log_rollingSize">Rolling Size (bytes)</a> | <a
href="#log_keepDays">Keep Days</a> | <a
href="#log_compressArchive">Compress
Archive</a></p></section>
<section class="toc-row"><header>Access
Log</header><p>
<a href="#aclogUseServer">Log Control</a> | <a
href="#vhaccessLog_fileName">File Name</a> | <a
href="#accessLog_pipedLogger">Piped Logger</a> | <a
href="#accessLog_logFormat">Log Format</a> | <a
href="#accessLog_logHeader">Log Headers</a> | <a
href="#log_rollingSize">Rolling Size (bytes)</a> | <a
href="#log_keepDays">Keep Days</a> | <a
href="#log_compressArchive">Compress Archive</a> | <a
href="#accessLog_bytesLog">Bytes
Log</a></p></section>
<section class="toc-row"><header>Index
Files</header><p>
<a href="#indexUseServer">Use Server Index Files</a>
| <a href="#indexFiles">Index Files</a> | <a
href="#autoIndex">Auto Index</a> | <a
href="#autoIndexURI">Auto Index
URI</a></p></section>
<section class="toc-row"><header><a
href="#errPage">Customized Error
Pages</a></header><p>
<a href="#errCode">Error Code</a> | <a
href="#errURL">URL</a></p></section>
<section class="toc-row"><header>Script Handler
Definition</header><p>
<a href="#suffix">Suffix</a> | <a
href="#shType">Handler Type</a> | <a
href="#shHandlerName">Handler
Name</a></p></section>
<section class="toc-row"><header><a
href="#htaccess">HT Access</a></header><p>
<a href="#allowOverride">Allow Override</a> | <a
href="#accessFileName">Access File
Name</a></p></section>
<section class="toc-row"><header>Expire
Settings</header><p>
<a href="#enableExpires">Enable Expires</a> | <a
href="#expiresDefault">Expires Default</a> | <a
href="#expiresByType">Expires By
Type</a></p></section>
<section class="toc-row"><header>Apache Style
Configuration</header><p>
<a href="#apacheConf">Apache Style
Configurations</a></p></section>
<section class="toc-row"><header>Web Socket
Proxy</header><p>
<a href="#wsuri">URI</a> | <a
href="#wsaddr">Address</a></p></section>
</section>
<section><div class="helpitem"><article
class="ls-helpitem"><div><header
id="docRoot"><h3>Document Root<span
class="ls-permlink"><a
href="#docRoot"></a></span><span
class="top"><a
href="#top">&#8657;</a></span></h3></header></div><h4>Description</h4><p>Specifies
the document root for this virtual host. <span
class="val">$VH_ROOT/html</span> is recommended. This
directory is referred to as $DOC_ROOT in contexts.</p>
<h4>Syntax</h4><p>A path which can be absolute, relative
to $SERVER_ROOT, or relative to $VH_ROOT.</p> </article>
</div>
<div class="helpitem"><article
class="ls-helpitem"><div><header
id="vhadminEmails"><h3>Administrator Email<span
class="ls-permlink"><a
href="#vhadminEmails"></a></span><span
class="top"><a
href="#top">&#8657;</a></span></h3></header></div><h4>Description</h4><p>Specifies
email address(es) of the administrator(s) of this virtual host.</p>
<h4>Syntax</h4><p>Comma separated list of email
addresses</p> </article> </div>
<div class="helpitem"><article
class="ls-helpitem"><div><header
id="vhEnableGzip"><h3>Enable Compression<span
class="ls-permlink"><a
href="#vhEnableGzip"></a></span><span
class="top"><a
href="#top">&#8657;</a></span></h3></header></div><h4>Description</h4><p>Specifies
whether to enable GZIP/Brotli compression for this virtual host. This
setting is only effective when compression is enabled at the server level.
Compression settings are configured at the server level (Tuning >
GZIP/Brotli Compression).</p>
<h4>Syntax</h4><p>Select from radio box</p>
<h4>See Also</h4><p
class="ls-text-small"><span class="tagl"><a
href="ServTuning_Help.html#enableGzipCompress">Enable
Compression</a></span>, <span
class="tagl"><a
href="ServTuning_Help.html#enableBrCompress">Brotli
Compression Level (Dynamic Content)</a></span></p>
</article> </div>
<div class="helpitem"><article
class="ls-helpitem"><div><header
id="enableIpGeo"><h3>Enable GeoLocation Lookup<span
class="ls-permlink"><a
href="#enableIpGeo"></a></span><span
class="top"><a
href="#top">&#8657;</a></span></h3></header></div><h4>Description</h4><p><span
class="tag">Enterprise Edition Only</span> Specifies
whether to enable/disable IP Geolocation lookup. Can be set at server,
virtual host, or context level. IP Geolocation is disabled by default when
using value "Not Set".</p>
<h4>Syntax</h4><p>Select from radio box</p>
<h4>See Also</h4><p
class="ls-text-small"><span class="tagl"><a
href="ServGeneral_Help.html#useIpInProxyHeader">Use Client IP
in Header</a></span>, <span class="tagl"><a
href="ServGeneral_Help.html#geoipDBFile">DB File
Path</a></span>,</p> </article> </div>
<div class="helpitem"><article
class="ls-helpitem"><div><header
id="cgroups"><h3>cgroups<span
class="ls-permlink"><a
href="#cgroups"></a></span><span
class="top"><a
href="#top">&#8657;</a></span></h3></header></div><h4>Description</h4><p>A
Linux kernel feature that limits, accounts for, and isolates the resource
usage (CPU, memory, disk I/O, network, etc.) of a collection of processes.
You must be running cgroups v2 which is determined by the existence of the
file <span
class="val">/sys/fs/cgroup/cgroup.controllers</span>.<br/><br/>
Setting this to <span class="val">Disabled</span> at
the Server level will disable this setting server-wide. In all other cases,
the Server level setting can be overridden at the Virtual Host
level.<br/><br/> Default values:<br/> <b>Server
level:</b> Off<br/> <b>VH level:</b> Inherit Server
level setting</p> <h4>Syntax</h4><p>Select from
drop down list</p> </article> </div>
<div class="helpitem"><article
class="ls-helpitem"><div><header
id="logUseServer"><h3>Use Server's Log<span
class="ls-permlink"><a
href="#logUseServer"></a></span><span
class="top"><a
href="#top">&#8657;</a></span></h3></header></div><h4>Description</h4><p>Specifies
whether to put log messages from this virtual host into the server  log
file instead of creating its own log file.</p>
<h4>Syntax</h4><p>Select from radio box</p>
</article> </div>
<div class="helpitem"><article
class="ls-helpitem"><div><header
id="vhlog_fileName"><h3>File Name<span
class="ls-permlink"><a
href="#vhlog_fileName"></a></span><span
class="top"><a
href="#top">&#8657;</a></span></h3></header></div><h4>Description</h4><p>Specifies
the path for the log file.</p>
<h4>Syntax</h4><p>Filename which can be an absolute path
or a relative path to $SERVER_ROOT, $VH_ROOT.</p>
<h4>Tips</h4><p><span title="Performance"
class="ls-icon-performance"></span> Place the log file
on a separate disk.</p> </article> </div>
<div class="helpitem"><article
class="ls-helpitem"><div><header
id="vhlog_logLevel"><h3>Log Level<span
class="ls-permlink"><a
href="#vhlog_logLevel"></a></span><span
class="top"><a
href="#top">&#8657;</a></span></h3></header></div><h4>Description</h4><p>Specifies
the level of logging. Available levels (from high to low) are <span
class="val">ERROR</span>,  <span
class="val">WARNING</span>, <span
class="val">NOTICE</span>, <span
class="val">INFO</span>, and <span
class="val">DEBUG</span>.  Only messages with a level
higher than or equal to the current setting will be logged.  If you want to
set it to DEBUG</span>, you must set the server log level to <span
class="val">DEBUG</span> as well.  The level of
debugging is controlled solely at the server level by <span
class="tagl"><a
href="ServGeneral_Help.html#log_debugLevel">Debug
Level</a></span>.</p>
<h4>Syntax</h4><p>Select from drop down list</p>
<h4>Tips</h4><p><span title="Performance"
class="ls-icon-performance"></span> Unless <span
class="tagl"><a
href="ServGeneral_Help.html#log_debugLevel">Debug
Level</a></span> is set to a level other than <span
class="val">NONE</span>, <span
class="val">DEBUG</span> log level does not have any
performance impact and is recommended.</p> <h4>See
Also</h4><p class="ls-text-small"><span
class="tagl"><a
href="ServGeneral_Help.html#log_debugLevel">Debug
Level</a></span></p> </article> </div>
<div class="helpitem"><article
class="ls-helpitem"><div><header
id="log_rollingSize"><h3>Rolling Size (bytes)<span
class="ls-permlink"><a
href="#log_rollingSize"></a></span><span
class="top"><a
href="#top">&#8657;</a></span></h3></header></div><h4>Description</h4><p>Specifies
when the current log file needs to be rolled over, also known as log
rotation.  When the file size is over the rollover limit, the active log
file will be renamed  to log_name.mm_dd_yyyy(.sequence) in the same
directory and a new active log file will be created. The actual size of the
rotated log file once it is created will sometimes be a little bigger than 
this size limit. Set to <span class="val">0</span> to
disable log rotation.</p> <h4>Syntax</h4><p>Integer
number</p> <h4>Tips</h4><p><span
title="Information"
class="ls-icon-info"></span> Append "K",
"M", "G" to the number for kilo-, mega- and giga-
bytes.</p> </article> </div>
<div class="helpitem"><article
class="ls-helpitem"><div><header
id="log_keepDays"><h3>Keep Days<span
class="ls-permlink"><a
href="#log_keepDays"></a></span><span
class="top"><a
href="#top">&#8657;</a></span></h3></header></div><h4>Description</h4><p>Specifies
how many days the access log file will be kept on disk.  Only rotated log
files older than the specified number of days will be deleted. The current 
log file will not be touched regardless how many days worth of data it
contains.  If you do not want to auto-delete stale and very old log files,
set this to <span class="val">0</span>.</p>
<h4>Syntax</h4><p>Integer number</p>
</article> </div>
<div class="helpitem"><article
class="ls-helpitem"><div><header
id="log_compressArchive"><h3>Compress Archive<span
class="ls-permlink"><a
href="#log_compressArchive"></a></span><span
class="top"><a
href="#top">&#8657;</a></span></h3></header></div><h4>Description</h4><p>Specifies
whether to compress rotated log files in order to save disk
space.</p> <h4>Syntax</h4><p>Select from radio
box</p> <h4>Tips</h4><p><span
title="Information"
class="ls-icon-info"></span> Log files are highly
compressible and this is recommended to reduce disk usage for old
logs.</p> </article> </div>
<div class="helpitem"><article
class="ls-helpitem"><div><header
id="aclogUseServer"><h3>Log Control<span
class="ls-permlink"><a
href="#aclogUseServer"></a></span><span
class="top"><a
href="#top">&#8657;</a></span></h3></header></div><h4>Description</h4><p>Where
the access log should be written. There are three options:  <ol>
<li>Write to the server's access log</li> <li>Create
an access log for this virtual host</li> <li>Disable access
logging</li> </ol></p>
<h4>Syntax</h4><p>Select from drop down list</p>
</article> </div>
<div class="helpitem"><article
class="ls-helpitem"><div><header
id="vhaccessLog_fileName"><h3>File Name<span
class="ls-permlink"><a
href="#vhaccessLog_fileName"></a></span><span
class="top"><a
href="#top">&#8657;</a></span></h3></header></div><h4>Description</h4><p>The
access log filename.</p> <h4>Syntax</h4><p>Filename
which can be an absolute path or a relative path to $SERVER_ROOT,
$VH_ROOT.</p> <h4>Tips</h4><p><span
title="Performance"
class="ls-icon-performance"></span> Put access log file
on a separate disk.</p> </article> </div>
<div class="helpitem"><article
class="ls-helpitem"><div><header
id="accessLog_pipedLogger"><h3>Piped Logger<span
class="ls-permlink"><a
href="#accessLog_pipedLogger"></a></span><span
class="top"><a
href="#top">&#8657;</a></span></h3></header></div><h4>Description</h4><p>Specifies
the external application that will receive the access log data sent by
LiteSpeed through a pipe on its STDIN stream (file handle is 0).  When this
field is specified, the access log will be sent only to the logger 
application and not the access log file specified in previous
entry.<br/><br/> The logger application must be defined in
<span class="tagP"><a
href="#ExtApp_Help">External Apps</a></span>
section first.  Server-level access logging can only use an external logger
application  defined at the server level. Virtual host-level access logging
can only use a logger application defined at the virtual host
level.<br/><br/> The logger process is spawned in the same way
as other external  (CGI/FastCGI/LSAPI) processes. This means it will
execute as the  user ID specified in the virtual host's <span
class="tagl"><a
href="VirtualHosts_Help.html#setUidMode">External App Set UID
Mode</a></span>  settings and will never run on behalf of a
privileged user. <br/><br/> LiteSpeed web server performs
simple load balancing among multiple logger  applications if more than one
instance of a logger application is configured.  LiteSpeed server always
attempts to keep the number of logger applications  as low as possible.
Only when one logger application fails to process access  log entries in
time will the server attempt to spawn another instance of  the logger
application. <br/><br/> If a logger crashes, the web server
will start another instance but the  log data in the stream buffer will be
lost. It is possible to lose log  data if external loggers cannot keep up
with the speed and volume of the log stream.</p>
<h4>Syntax</h4><p>Select from drop down list</p>
</article> </div>
<div class="helpitem"><article
class="ls-helpitem"><div><header
id="accessLog_logFormat"><h3>Log Format<span
class="ls-permlink"><a
href="#accessLog_logFormat"></a></span><span
class="top"><a
href="#top">&#8657;</a></span></h3></header></div><h4>Description</h4><p><span
class="tag">Enterprise Edition Only</span> Specifies the
log format for the access log. When log format is set, it will override the
<span class="tagl"><a
href="#accessLog_logHeader">Log Headers</a></span>
setting.</p> <h4>Syntax</h4><p>String. The syntax
of log format is compatible with Apache 2.0's custom  <a
href="http://httpd.apache.org/docs/current/mod/mod_log_config.html#formats"
target="_blank" rel="noopener noreferrer">log
format</a>.</p> <h4>Example</h4><div
class="ls-example"><b>Common Log Format
(CLF)</b><br/>     "%h %l %u %t \"%r\" %>s
%b"<br/><br/> <b>Common Log Format with Virtual
Host</b><br/>     "%v %h %l %u %t \"%r\" %>s
%b"<br/><br/> <b>NCSA extended/combined log
format</b><br/>     "%h %l %u %t \"%r\" %>s
%b \"%{Referer}i\" \"%{User-agent}i\"
<br/><br/> <b>Log cookie value of
Foobar</b><br/>    
"%{Foobar}C"</div><h4>See Also</h4><p
class="ls-text-small"><span class="tagl"><a
href="#accessLog_logHeader">Log
Headers</a></span></p> </article> </div>
<div class="helpitem"><article
class="ls-helpitem"><div><header
id="accessLog_logHeader"><h3>Log Headers<span
class="ls-permlink"><a
href="#accessLog_logHeader"></a></span><span
class="top"><a
href="#top">&#8657;</a></span></h3></header></div><h4>Description</h4><p>Specifies
whether to log HTTP request headers: <span
class="val">Referer</span>, <span
class="val">UserAgent</span>, and <span
class="val">Host</span>.</p>
<h4>Syntax</h4><p>Select from checkbox</p>
<h4>Tips</h4><p><span title="Performance"
class="ls-icon-performance"></span> Turn this off if you
do not need these headers in the access log.</p> <h4>See
Also</h4><p class="ls-text-small"><span
class="tagl"><a
href="#accessLog_logFormat">Log
Format</a></span></p> </article> </div>
<div class="helpitem"><article
class="ls-helpitem"><div><header
id="accessLog_bytesLog"><h3>Bytes Log<span
class="ls-permlink"><a
href="#accessLog_bytesLog"></a></span><span
class="top"><a
href="#top">&#8657;</a></span></h3></header></div><h4>Description</h4><p>Specifies
the path to the bandwidth bytes log file. When specified, a cPanel
compatible bandwidth log will be created. This will log  the total bytes
transferred for a request including both the request and reply
bodies.</p> <h4>Syntax</h4><p>Filename which can be
an absolute path or a relative path to $SERVER_ROOT.</p>
<h4>Tips</h4><p><span title="Performance"
class="ls-icon-performance"></span> Put the log file on
a separate disk.</p> </article> </div>
<div class="helpitem"><article
class="ls-helpitem"><div><header
id="indexUseServer"><h3>Use Server Index Files<span
class="ls-permlink"><a
href="#indexUseServer"></a></span><span
class="top"><a
href="#top">&#8657;</a></span></h3></header></div><h4>Description</h4><p>Specifies
whether to use the server's index file settings. If set to <span
class="val">Yes</span>, only the server's settings
will be used. If set to <span class="val">No</span>,
the server's settings will not be used. If set to <span
class="val">Addition</span>, additional index files can
be added to server's index file list for this virtual host. If you
want to disable index files for this virtual host, you can set the value to
<span class="val">No</span> and leave the index files
field empty.</p> <h4>Syntax</h4><p>Select from drop
down list</p> </article> </div>
<div class="helpitem"><article
class="ls-helpitem"><div><header
id="indexFiles"><h3>Index Files<span
class="ls-permlink"><a
href="#indexFiles"></a></span><span
class="top"><a
href="#top">&#8657;</a></span></h3></header></div><h4>Description</h4><p>Specifies
names of index files that will be searched sequentially when a URL is
mapped to a directory. You can customize it at the server, virtual host,
and context level.</p>
<h4>Syntax</h4><p>Comma-delimited list of index
filenames.</p> <h4>Tips</h4><p><span
title="Performance"
class="ls-icon-performance"></span> Only set index files
that you need.</p> </article> </div>
<div class="helpitem"><article
class="ls-helpitem"><div><header
id="autoIndex"><h3>Auto Index<span
class="ls-permlink"><a
href="#autoIndex"></a></span><span
class="top"><a
href="#top">&#8657;</a></span></h3></header></div><h4>Description</h4><p>Specifies
whether to generate a directory index on the fly when index files listed in
<span class="tagl"><a
href="#indexFiles">Index Files</a></span> are not
available in a directory. This option is customizable at the virtual host
and context level, and is inherited along the directory tree until it is
explicitly overridden. You can customize the generated index page. Please
check online wiki How-tos.</p>
<h4>Syntax</h4><p>Select from radio box</p>
<h4>Tips</h4><p><span title="Security"
class="ls-icon-security"></span> It is recommended to
turn off Auto Index wherever possible to prevent revealing confidential
data.</p> <h4>See Also</h4><p
class="ls-text-small"><span class="tagl"><a
href="#indexFiles">Index Files</a></span>,
<span class="tagl"><a
href="#autoIndexURI">Auto Index
URI</a></span></p> </article> </div>
<div class="helpitem"><article
class="ls-helpitem"><div><header
id="autoIndexURI"><h3>Auto Index URI<span
class="ls-permlink"><a
href="#autoIndexURI"></a></span><span
class="top"><a
href="#top">&#8657;</a></span></h3></header></div><h4>Description</h4><p>Specifies
the URI that will be used to generate the index page when index files
listed in <span class="tagl"><a
href="#indexFiles">Index Files</a></span> are not
available in a directory. LiteSpeed web server uses an external script to
generate the index page providing the maximum customization flexibility.
The default script produces an index page with same look as Apache's.
To customize the generated index page, please read online wiki How-tos. The
directory to be indexed is passed to the script via an environment variable
"LS_AI_PATH".</p>
<h4>Syntax</h4><p>URI</p> <h4>See
Also</h4><p class="ls-text-small"><span
class="tagl"><a href="#indexFiles">Index
Files</a></span>, <span class="tagl"><a
href="#autoIndex">Auto Index</a></span></p>
</article> </div>
<div class="helpitem"><article
class="ls-helpitem"><div><header
id="errPage"><h3>Customized Error Pages<span
class="ls-permlink"><a
href="#errPage"></a></span><span
class="top"><a
href="#top">&#8657;</a></span></h3></header></div><h4>Description</h4><p>Whenever
the server has a problem processing a request, the server will return an
error code and an html page as an error message to the web client. Error
codes are defined in the HTTP protocol (see RFC 2616). LiteSpeed web server
has a built-in default error page for each error code, but a customized
page can be configured for each error code as well. These error pages can
be even further customized to be unique for each virtual host.</p>
</article> </div>
<div class="helpitem"><article
class="ls-helpitem"><div><header
id="errCode"><h3>Error Code<span
class="ls-permlink"><a
href="#errCode"></a></span><span
class="top"><a
href="#top">&#8657;</a></span></h3></header></div><h4>Description</h4><p>Specifies
the HTTP status code for the error page. Only the selected HTTP status code
will have this customized error page.</p>
<h4>Syntax</h4><p>Select from drop down list</p>
</article> </div>
<div class="helpitem"><article
class="ls-helpitem"><div><header
id="errURL"><h3>URL<span
class="ls-permlink"><a
href="#errURL"></a></span><span
class="top"><a
href="#top">&#8657;</a></span></h3></header></div><h4>Description</h4><p>Specifies
the URL of the customized error page. The server will forward the request
to this URL when the corresponding HTTP status code has returned. If this
URL refers to a non-existing resource, the built-in error page will be
used. The URL can be a static file, a dynamically generated page, or a page
on another web site (a URL starting with "http(s)://"). When
referring to a page on another web site, the client will receive a redirect
status code instead of the original status code.</p>
<h4>Syntax</h4><p>URL</p> </article>
</div>
<div class="helpitem"><article
class="ls-helpitem"><div><header
id="suffix"><h3>Suffix<span
class="ls-permlink"><a
href="#suffix"></a></span><span
class="top"><a
href="#top">&#8657;</a></span></h3></header></div><h4>Description</h4><p>Specifies
the script file suffixes that will be handled by this  script handler.
Suffixes must be unique.</p>
<h4>Syntax</h4><p>Comma delimited list with period
"." character prohibited.</p>
<h4>Tips</h4><p><span title="Information"
class="ls-icon-info"></span> The server will
automatically add a special MIME type
("application/x-httpd-[suffix]") for the first  suffix in the
list. For example, MIME type "application/x-httpd-php53" will be
added  for suffix "php53". Suffixes after the first need to set
up in the <span class="tagl"><a
href="#mime">MIME Settings</a></span>
settings.<br/> Though we list suffixes in this field, the script
handlers use MIME types, not suffixes,  to decide which scripts to handle.
You can thus use the Apache configuration directives  "AddType"
and "ForceType" (which control file MIME types) in .htaccess
files to change  which script handler certain files will use. For example,
with the directive  <span class="cmd"> AddType
application/x-httpd-php53 .php</span> in a properly placed .htaccess
file,  you can stipulate that php files in this directory have the MIME
type "application/x-httpd-php53" and  thus will be handled by the
script handler that uses MIME type "application/x-httpd-php53" 
(suffix "php53"). This then allows you to assign different script
handlers, not only for  different file suffixes, but also based on the
locations of files.<br/> <span title="Performance"
class="ls-icon-performance"></span><span
title="Security"
class="ls-icon-security"></span> Only specify the
suffixes you really need.</p> </article> </div>
<div class="helpitem"><article
class="ls-helpitem"><div><header
id="shType"><h3>Handler Type<span
class="ls-permlink"><a
href="#shType"></a></span><span
class="top"><a
href="#top">&#8657;</a></span></h3></header></div><h4>Description</h4><p>Specifies
the type of external application that processes these script files.  
Available types are: <span class="val">CGI</span>,
<span class="val">FastCGI</span>, <span
class="val">Web Server</span>, <span
class="val">LSAPI app</span>, <span
class="val">Load balancer</span>, or <span
class="val">Servlet Engine</span>.  For FastCGI, Web
Server and Servlet Engine, a <span class="tagl"><a
href="#shHandlerName">Handler Name</a></span>
needs to be specified.  This is an external application name as predefined
in the <span class="tagP"><a
href="#ExtApp_Help">External Apps</a></span>
section.</p> <h4>Syntax</h4><p>Select from drop
down list</p> </article> </div>
<div class="helpitem"><article
class="ls-helpitem"><div><header
id="shHandlerName"><h3>Handler Name<span
class="ls-permlink"><a
href="#shHandlerName"></a></span><span
class="top"><a
href="#top">&#8657;</a></span></h3></header></div><h4>Description</h4><p>Specifies
the name of the external application that processes the script files  when
the handler type is FastCGI, Web Server, LSAPI, Load Balancer, or Servlet
Engine.</p> <h4>Syntax</h4><p>Select from drop down
list</p> </article> </div>
<div class="helpitem"><article
class="ls-helpitem"><div><header
id="htaccess"><h3>HT Access<span
class="ls-permlink"><a
href="#htaccess"></a></span><span
class="top"><a
href="#top">&#8657;</a></span></h3></header></div><h4>Description</h4><p>The
following directives are supported in a directory level access control file
(.htaccess file).<br/> <ul>   <li>     Authentication    
<ul>       <li>AuthGroupFile</li>      
<li>AuthName</li>       <li>AuthType</li>      
<li>AuthUserFile</li>       <li>Require</li>      
<li>Satisfy</li>       <li>&lt;Limit&gt; (GET,
HEAD, POST only)</li>       <li>&lt;LimitExcept&gt;
(GET, HEAD, POST only)</li>     </ul>   </li>  
<li>     Access Control     <ul>      
<li>Allow</li>       <li>Deny</li>      
<li>Order</li>       <li>&lt;Limit&gt; (GET,
HEAD, POST only)</li>       <li>&lt;LimitExcept&gt;
(GET, HEAD, POST only)</li>     </ul>   </li>  
<li>     File Info     <ul>      
<li>AddDefaultCharset</li>       <li>AddType</li>  
    <li>DefaultType</li>       <li>ForceType</li>  
    <li>Redirect</li>      
<li>RedirectPermanent</li>      
<li>RedirectTemp</li>       <li>RewriteBase</li>   
   <li>RewriteCond</li>      
<li>RewriteEngine</li>      
<li>RewriteOptions</li>       <li>RewriteRule</li> 
   </ul>   </li>   <li>     Other     <ul>      
<li>DirectoryIndex</li>      
<li>ExpiresActive</li>       <li>ExpiresByType</li>
      <li>ExpiresDefault</li>      
<li>Options</li>     </ul>   </li>
</ul></p> </article> </div>
<div class="helpitem"><article
class="ls-helpitem"><div><header
id="allowOverride"><h3>Allow Override<span
class="ls-permlink"><a
href="#allowOverride"></a></span><span
class="top"><a
href="#top">&#8657;</a></span></h3></header></div><h4>Description</h4><p>Specifies
what directives in an access control file are allowed. An access control
file can be placed in a directory to control the accessibility of files
under that directory.<br/> <ul>   <li>When nothing is
checked, inherited default settings will be used.</li>  
<li>When <span class="val">None</span> is
checked, access control files will be ignored.</li>   <li>    
When <span class="val">Limit</span> is checked,
directives "Allow", "Deny", and "Order" are
allowed. &lt;Limit&gt; and &lt;LimitExcept&gt;    
directives are also allowed with limited support for GET, HEAD, and POST
requests.   </li>   <li>     When <span
class="val">Auth</span> is checked, directives
"AuthGroupFile",  "AuthName", "AuthType",
"AuthUserFile", "Require", and     "Satisfy"
are allowed. &lt;Limit&gt; and &lt;LimitExcept&gt;
directives are also allowed with limited support for GET,     HEAD, and
POST requests.   </li>   <li>     When <span
class="val">FileInfo</span> is checked, directives
"AddDefaultCharset", "AddType",
"DefaultType", "ForceType", "Redirect",    
"RedirectPermanent", "RedirectTemp",
"RewriteBase", "RewriteCond",
"RewriteEngine", "RewriteOptions", and    
"RewriteRule" are allowed.   </li>   <li>     When
<span class="val">Indexes</span> is checked,
directives "DirectoryIndex", "ExpiresActive",
"ExpiresByType", and "ExpiresDefault" are     allowed. 
 </li>   <li>When <span
class="val">Options</span> is checked, directive
"Options" is allowed.</li> </ul><br/> Allow
Override configuration is available at the Server, Virtual Host, and
Context levels. If a configuration is unchecked at the Server level, those
controlled directives will be disabled for the entire server regardless of
settings at lower levels. Lower levels can disable a setting that is
enabled at a higher level, but cannot enable a setting that is disabled at
an upper level.<br/><br/> Default values:<br/>
<b>Server level:</b> "None" (ignore access control
file)<br/> <b>VH level:</b> Inherit Server level
setting<br/> <b>Context level</b> Inherit VH level
setting</p> <h4>Syntax</h4><p>Select from
checkbox</p> <h4>Tips</h4><p><span
title="Performance"
class="ls-icon-performance"></span> If there is no need
for directory level configuration customization, check <span
class="val">None</span>.</p> </article>
</div>
<div class="helpitem"><article
class="ls-helpitem"><div><header
id="accessFileName"><h3>Access File Name<span
class="ls-permlink"><a
href="#accessFileName"></a></span><span
class="top"><a
href="#top">&#8657;</a></span></h3></header></div><h4>Description</h4><p>Specifies
the name of access control files. These files will be used only if <span
class="tagl"><a href="#allowOverride">Allow
Override</a></span> is enabled. Default name is <span
class="val">.htaccess</span>. You can configure this at
server level and virtual host level. Server level is the default setting,
and you  can override it at virtual host level.</p>
<h4>Syntax</h4><p>Filename starting with
"."</p> <h4>See Also</h4><p
class="ls-text-small"><span class="tagl"><a
href="#allowOverride">Allow
Override</a></span></p> </article> </div>
<div class="helpitem"><article
class="ls-helpitem"><div><header
id="enableExpires"><h3>Enable Expires<span
class="ls-permlink"><a
href="#enableExpires"></a></span><span
class="top"><a
href="#top">&#8657;</a></span></h3></header></div><h4>Description</h4><p>Specifies
whether to generate an Expires header for static files. If enabled, an
Expires header will be generated based on <span
class="tagl"><a href="#expiresDefault">Expires
Default</a></span> and <span class="tagl"><a
href="#expiresByType">Expires By
Type</a></span>.<br/><br/> This can be set at
server, virtual host and context level. Lower level settings will override
higher level ones, i.e. context settings will override virtual host
settings and virtual host settings will override server settings.</p>
<h4>Syntax</h4><p>Select from radio box</p>
</article> </div>
<div class="helpitem"><article
class="ls-helpitem"><div><header
id="expiresDefault"><h3>Expires Default<span
class="ls-permlink"><a
href="#expiresDefault"></a></span><span
class="top"><a
href="#top">&#8657;</a></span></h3></header></div><h4>Description</h4><p>Specifies
default settings for Expires header generation. This setting takes effect
when <span class="tagl"><a
href="#enableExpires">Enable Expires</a></span> is
set to "Yes". It can be overridden by <span
class="tagl"><a href="#expiresByType">Expires
By Type</a></span>. Do not set this default at the server or
virtual host level unless you have to, since it will generate Expires
headers for all pages. Most of time this should be set at the context level
for certain directories that do not change often. If there is no default
setting, no Expires header will be generated for types not specified in
<span class="tagl"><a
href="#expiresByType">Expires By
Type</a></span>.</p>
<h4>Syntax</h4><p>A|Mseconds<br/> The file will
expire after base time(A|M) plus specified seconds. Base time "A"
sets the value to the client's access time and "M" to the
file's last modified time.</p> </article> </div>
<div class="helpitem"><article
class="ls-helpitem"><div><header
id="expiresByType"><h3>Expires By Type<span
class="ls-permlink"><a
href="#expiresByType"></a></span><span
class="top"><a
href="#top">&#8657;</a></span></h3></header></div><h4>Description</h4><p>Specifies
Expires header settings for individual MIME types.</p>
<h4>Syntax</h4><p>Comma delimited list of
"MIME-type=A|Mseconds". The file will expire after base time
(A|M) plus specified seconds.<br/><br/> Base time "A"
sets the value to the client's access time and "M" to the
file's last modified time. MIME-type accepts wildcard "*",
like image/*.</p> </article> </div>
<div class="helpitem"><article
class="ls-helpitem"><div><header
id="apacheConf"><h3>Apache Style Configurations<span
class="ls-permlink"><a
href="#apacheConf"></a></span><span
class="top"><a
href="#top">&#8657;</a></span></h3></header></div><h4>Description</h4><p>Specifies
Apache configuration directives (supported by LiteSpeed) that you want to
use in LiteSpeed native configuration file. For example, to override the
default PHP configurations (php.ini entries) the server will need four
directives: "php_value", "php_flag",
"php_admin_value" and "php_admin_flag".</p>
<h4>Syntax</h4><p>Same as Apache configuration
file.</p> </article> </div>
<div class="helpitem"><article
class="ls-helpitem"><div><header
id="wsuri"><h3>URI<span
class="ls-permlink"><a
href="#wsuri"></a></span><span
class="top"><a
href="#top">&#8657;</a></span></h3></header></div><h4>Description</h4><p>Specifies
the URI(s) that will use this WebSocket backend. Traffic to  this URI will
only be forwarded to the WebSocket backend when it contains  a WebSocket
upgrade request. <br/><br/> Traffic without this upgrade
request will automatically be forwarded to the  Context that this URI
belongs to. If no Context exists for this URI,  LSWS will treat this
traffic as though it is accessing a static context with  the location
<span class="val">$DOC_ROOT/URI</span>.</p>
<h4>Syntax</h4><p>A plain URI (starting with
"/"). If the URI ends with a "/",  then this WebSocket
backend will include all sub-URIs under this URI.</p>
<h4>Example</h4><div class="ls-example">Using
the WebSocket proxy in conjunction with a Context  allows you to serve
different kinds of traffic in different ways  on the same page, thus
optimizing performance. You can send WebSocket  traffic to the WebSocket
backend, while setting up a static context so  that LSWS can serve the
page's static content, or an LSAPI context so LSWS  will serve PHP
content (both of which LSWS does more efficiently  than the WebSocket
backend).</div></article> </div>
<div class="helpitem"><article
class="ls-helpitem"><div><header
id="wsaddr"><h3>Address<span
class="ls-permlink"><a
href="#wsaddr"></a></span><span
class="top"><a
href="#top">&#8657;</a></span></h3></header></div><h4>Description</h4><p>A
unique socket address used by the WebSocket backend.  IPv4 sockets, IPv6
sockets, and Unix Domain Sockets (UDS) are supported.  IPv4 and IPv6
sockets can be used for communication over the network.  UDS can only be
used when the WebSocket backend resides on the same machine as the
server.</p> <h4>Syntax</h4><p>IPv4/IPv6
address:port, UDS://path, or unix:path</p>
<h4>Example</h4><div
class="ls-example">127.0.0.1:5434 <br/>
UDS://tmp/lshttpd/php.sock<br/>
unix:/tmp/lshttpd/php.sock</div><h4>Tips</h4><p><span
title="Security"
class="ls-icon-security"></span> If the WebSocket
backend runs on the same machine,  UDS is preferred. If you have to use an
IPv4 or IPv6 socket,  set the IP address to localhost or 127.0.0.1, so the
WebSocket backend  is inaccessible from other machines.<br/> <span
title="Performance"
class="ls-icon-performance"></span> Unix Domain Sockets
generally provide higher performance than IPv4 or IPv6 sockets.</p>
</article> </div>
</section>
</article><div  class="ls-col-1-1"><footer
class="copyright">Copyright &copy; 2003-2020. <a
href="https://www.litespeedtech.com">LiteSpeed Technologies
Inc.</a> All rights reserved.</footer>
</div></div>
</body>
</html>