D7net
Home
Console
Upload
information
Create File
Create Folder
About
Tools
:
/
proc
/
thread-self
/
root
/
usr
/
local
/
lsws
/
docs
/
Filename :
VHGeneral_Help.html
back
Copy
<!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 — 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">« <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> »</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">⇑</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">⇑</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">⇑</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">⇑</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">⇑</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">⇑</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">⇑</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">⇑</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">⇑</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">⇑</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">⇑</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">⇑</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">⇑</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">⇑</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">⇑</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">⇑</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">⇑</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">⇑</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">⇑</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">⇑</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">⇑</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">⇑</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">⇑</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">⇑</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">⇑</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">⇑</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">⇑</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">⇑</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><Limit> (GET, HEAD, POST only)</li> <li><LimitExcept> (GET, HEAD, POST only)</li> </ul> </li> <li> Access Control <ul> <li>Allow</li> <li>Deny</li> <li>Order</li> <li><Limit> (GET, HEAD, POST only)</li> <li><LimitExcept> (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">⇑</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. <Limit> and <LimitExcept> 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. <Limit> and <LimitExcept> 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">⇑</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">⇑</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">⇑</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">⇑</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">⇑</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">⇑</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">⇑</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 © 2003-2020. <a href="https://www.litespeedtech.com">LiteSpeed Technologies Inc.</a> All rights reserved.</footer> </div></div> </body> </html>