Differences
This shows you the differences between two versions of the page.
Both sides previous revisionPrevious revisionNext revision | Previous revision | ||
server:web [2023/02/04 23:25] – [webctrl.ini per-directory configuration file] FastCGI UNIX domain sockets are now supported digital man | server:web [2023/12/23 02:14] (current) – [Configure] Update SCFG screenshot digital man | ||
---|---|---|---|
Line 7: | Line 7: | ||
The Synchronet Web Server is a mostly HTTP 1.1 compliant web server capable of | The Synchronet Web Server is a mostly HTTP 1.1 compliant web server capable of | ||
handing basic web servicing tasks. | handing basic web servicing tasks. | ||
- | general-purpose web server one would come to expect | + | general-purpose web server one would come to expect, including |
It also, through Server-Side JavaScript (SSJS), allows dynamic pages to be | It also, through Server-Side JavaScript (SSJS), allows dynamic pages to be | ||
Line 13: | Line 13: | ||
- | ===== Configuration | + | ===== Configure |
- | ==== Startup INI [Web] Section Keys ==== | + | The Synchronet |
- | The '' | + | < |
+ | ╔══════════════════════════════════════════════════════════════════╗ | ||
+ | ║ | ||
+ | ╠══════════════════════════════════════════════════════════════════╣ | ||
+ | ║ │Enabled | ||
+ | ║ │Log Level | ||
+ | ║ │HTTP Interfaces | ||
+ | ║ │HTTP Port | ||
+ | ║ │HTTPS Support | ||
+ | ║ │HTTPS Interfaces | ||
+ | ║ │HTTPS Port 443 ║ | ||
+ | ║ │SSJS File Extension | ||
+ | ║ │Index Filenames | ||
+ | ║ │Content Root Directory | ||
+ | ║ │Error Sub-directory | ||
+ | ║ │Strict Transport Security | ||
+ | ║ │Virtual Host Support | ||
+ | ║ │Access Logging | ||
+ | ║ │Max Clients | ||
+ | ║ │Max Inactivity | ||
+ | ║ │Filebase Index Script | ||
+ | ║ │Filebase VPath Prefix | ||
+ | ║ │Filebase VPath for VHosts | ||
+ | ║ │Authentication Methods | ||
+ | ║ │Output Buffer Drain Timeout | ||
+ | ║ │Lookup Client Hostname | ||
+ | ║ │CGI Support | ||
+ | ║ │CGI Directory | ||
+ | ║ │CGI File Extensions | ||
+ | ║ │CGI Default Content-Type | ||
+ | ║ │CGI Max Inactivity | ||
+ | ║ │JavaScript Settings... | ||
+ | ║ │Failed Login Attempts... | ||
+ | ╚══════════════════════════════════════════════════════════════════╝ | ||
+ | </ | ||
+ | |||
+ | ... or via [[monitor: | ||
+ | |||
+ | {{: | ||
+ | |||
+ | ... or via manual edit of the '' | ||
+ | |||
+ | ==== sbbs.ini ==== | ||
+ | |||
+ | The '' | ||
+ | |||
+ | ^ Key ^ Default | ||
+ | | AutoStart | ||
+ | | HostName | ||
+ | | LogLevel | ||
+ | | TLSErrorLevel | ||
+ | | Interface | ||
+ | | TLSInterface | ||
+ | | Port | '' | ||
+ | | TLSPort | ||
+ | | BindRetryCount | ||
+ | | BindRetryDelay | ||
+ | | MaxClients | ||
+ | | MaxInactivity | ||
+ | | MaxCgiInactivity | ||
+ | | SemFileCheckFrequency | ||
+ | | IndexFileNames | ||
+ | | RootDirectory | ||
+ | | ErrorDirectory | ||
+ | | CGIDirectory | ||
+ | | DefaultCGIContent | ||
+ | | CGIExtensions | ||
+ | | JavaScriptExtension | ||
+ | | Authentication | ||
+ | | HttpLogFile | ||
+ | | FileIndexScript | ||
+ | | FileVPathPrefix | ||
+ | | FileVPathForVHosts | ||
+ | | OutbufDrainTimeout | ||
+ | | TempDirectory | ||
+ | | Options | ||
+ | |||
+ | === Options === | ||
+ | |||
+ | The '' | ||
+ | |||
+ | Default value: **'' | ||
+ | |||
+ | In addition to the [[config: | ||
+ | |||
+ | == DEBUG_RX == | ||
+ | |||
+ | Log all received data to the console log, as well as various | ||
+ | extra bits related to receiving data. | ||
+ | |||
+ | == DEBUG_TX == | ||
+ | |||
+ | Log all transmitted data except the reply body itself, as well | ||
+ | as various extra bits of information related to transmitted | ||
+ | data. | ||
+ | |||
+ | == DEBUG_SSJS == | ||
+ | |||
+ | Log server-side JavaScript execution details. | ||
+ | |||
+ | == VIRTUAL_HOSTS == | ||
+ | |||
+ | Supports name-based virtual hosts. | ||
+ | host names, you can have each host name return unique content | ||
+ | depending on which hostname is used. ie: if | ||
+ | '' | ||
+ | system, you could have FreeBSD-specific pages on one, and | ||
+ | general *nix stuff on the other. | ||
+ | |||
+ | A virtual host is added by simply putting the desired content | ||
+ | into a sub-directory of [[# | ||
+ | ie: '' | ||
+ | the request host name (very old browsers, or some automated | ||
+ | tools) they will be served out of document root. | ||
+ | It is therefore a good idea to put links to your various | ||
+ | virtual hosts in an '' | ||
+ | like this: | ||
+ | <code html> | ||
+ | < | ||
+ | < | ||
+ | < | ||
+ | </ | ||
+ | < | ||
+ | Your browser is either too old to support | ||
+ | name-based virtual hosts, or you have visited a | ||
+ | virtual hosts that is not yet configured. | ||
+ | following are hosted here:< | ||
+ | <a href=" | ||
+ | <a href=" | ||
+ | </ | ||
+ | </ | ||
+ | </ | ||
+ | |||
+ | == NO_CGI == | ||
+ | |||
+ | Disable CGI/FastCGI script execution. | ||
+ | |||
+ | == HTTP_LOGGING == | ||
+ | |||
+ | Enable logging to a Common Logfile Format log as described in | ||
+ | the HttpLogFile section. | ||
+ | programs (like Webalizer: http:// | ||
+ | |||
+ | == NO_JAVASCRIPT == | ||
+ | |||
+ | Disable SSJS execution. | ||
+ | |||
+ | == ALLOW_TLS == | ||
+ | |||
+ | Enable TLS/SSL support. | ||
+ | |||
+ | == HSTS_SAFE == | ||
+ | |||
+ | Indicates that all URLs available via http are also available via https and redirects clients who want a TLS session to the https location. | ||
+ | |||
+ | ==== Reference ==== | ||
+ | |||
+ | Web Server configuration settings reference: | ||
+ | |||
=== RootDirectory === | === RootDirectory === | ||
Line 109: | Line 267: | ||
(if enabled, see next item), date, and '' | (if enabled, see next item), date, and '' | ||
- | === Options | + | === FileVPathPrefix |
+ | Default value: "" | ||
- | Default | + | Suggested |
- | The '' | + | A virtual sub-directory |
- | '' | + | === FileVPathForVHosts === |
+ | Default value: | ||
- | Log all received data to the console log, as well as various | + | By default, virtual hosts will not have the virtual file path (if enabled). Set this to '' |
- | extra bits related to receiving data. | + | |
- | '' | + | === FileIndexScript === |
+ | Default value: "" | ||
- | Log all transmitted data except the reply body itself, as well | + | Suggested value: '' |
- | as various extra bits of information related to transmitted | + | |
- | data. | + | |
- | '' | + | A Server-side JavaScript |
- | + | ||
- | Supports name-based virtual hosts. | + | |
- | host names, you can have each host name return unique content | + | |
- | depending on which hostname is used. ie: if | + | |
- | '' | + | |
- | system, you could have FreeBSD-specific pages on one, and | + | |
- | general *nix stuff on the other. | + | |
- | + | ||
- | A virtual host is added by simply putting the desired content | + | |
- | into a sub-directory of [[# | + | |
- | ie: '' | + | |
- | the request host name (very old browsers, or some automated | + | |
- | tools) they will be served out of document root. | + | |
- | It is therefore a good idea to put links to your various | + | |
- | virtual hosts in an '' | + | |
- | like this: | + | |
- | <code html> | + | |
- | < | + | |
- | < | + | |
- | < | + | |
- | </ | + | |
- | < | + | |
- | Your browser is either too old to support | + | |
- | name-based | + | |
- | virtual hosts that is not yet configured. | + | |
- | following are hosted here:< | + | |
- | <a href=" | + | |
- | <a href=" | + | |
- | </ | + | |
- | </ | + | |
- | </ | + | |
- | + | ||
- | '' | + | |
- | + | ||
- | Disable CGI script execution. | + | |
- | + | ||
- | '' | + | |
- | + | ||
- | Enable logging to a Common Logfile Format log as described in | + | |
- | the HttpLogFile section. | + | |
- | programs (like Webalizer: http:// | + | |
- | + | ||
- | '' | + | |
- | + | ||
- | Disable SSJS execution. | + | |
- | + | ||
- | '' | + | |
- | + | ||
- | Enable TLS support. | + | |
- | + | ||
- | '' | + | |
- | + | ||
- | Indicates that all URLs availabe via http are also available via https and redirects clients who want a TLS session to the https location. | + | |
==== Other configuration files ==== | ==== Other configuration files ==== | ||
Line 220: | Line 325: | ||
- | ==== webctrl.ini | + | ==== webctrl.ini ==== |
Each directory under the [[# | Each directory under the [[# | ||
the directory it's in and all child directories. | the directory it's in and all child directories. | ||
Line 227: | Line 333: | ||
=== AccessRequirements === | === AccessRequirements === | ||
- | Specifices | + | Specifies |
files in this directory. | files in this directory. | ||
Line 278: | Line 384: | ||
Specifies a Javascript snippet which can modify the http_request.request_string. | Specifies a Javascript snippet which can modify the http_request.request_string. | ||
- | Added on November 3rd, 2015 to CVS (in 3.17a). | + | <file webctrl.ini> |
+ | RewriteDetail=var n=http_request.request_string.replace(/ | ||
+ | </ | ||
+ | |||
+ | If the expression returns " | ||
+ | an internal redirect. | ||
+ | |||
+ | Added on November 3rd, 2015 to CVS (in 3.17a). | ||
=== JSPreExec === | === JSPreExec === |