Synchronet v3.17b-Win32 (install) has been released (Jan-2019).

New Synchronet YouTube channel

You can donate to the Synchronet project using PayPal.

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revision Previous revision
Next revision
Previous revision
server:web [2010/02/21 21:42]
digitalman
server:web [2015/11/09 21:04] (current)
deuce [webctrl.ini per-directory configuration file] Move AccessRequirements example into AccessRequirements section.
Line 1: Line 1:
 ====== Web Server ====== ====== Web Server ======
 +
 +The Synchronet Web Server serves static (e.g. files) and dynamic content to HTTP clients (e.g. web browsers).
  
 ===== Introduction ===== ===== Introduction =====
Line 15: Line 17:
 ==== Startup INI [Web] Section Keys ==== ==== Startup INI [Web] Section Keys ====
  
-The ''​[Web]''​ section of your [[:config/Startup INI]] file contains the following settings (keys):+The ''​[Web]''​ section of your [[config:sbbs.ini]] file contains the following settings (keys):
  
 === RootDirectory === === RootDirectory ===
Line 47: Line 49:
 === Authorization === === Authorization ===
  
-Default value: ''​Basic,​Default''​+Default value: ''​Basic,​Digest''​
  
 A comma-separated list of authentication mechanisms in order of preference. A comma-separated list of authentication mechanisms in order of preference.
Line 111: Line 113:
 Default value: ''​NO_HOST_LOOKUP''​ Default value: ''​NO_HOST_LOOKUP''​
  
-The ''​Options''​ key is set to a ''​|''​ separated list of options to enable. ​ In addition to the [[:config/Startup INI|standard options]], the web server also supports the following:+The ''​Options''​ key is set to a ''​|''​ separated list of options to enable. ​ In addition to the [[config:sbbs.ini|standard options]], the web server also supports the following:
  
 ''​DEBUG_RX''​ ''​DEBUG_RX''​
Line 171: Line 173:
 Disable SSJS execution. Disable SSJS execution.
  
 +''​ALLOW_TLS''​
  
 +Enable TLS support.
 ==== Other configuration files ==== ==== Other configuration files ====
  
-In addition to the ''​[Web]''​ keys in the [[Startup INI]] file, the web server+In addition to the ''​[Web]''​ keys in the [[config:​sbbs.ini]] file, the web server
 also uses some other configuration files: also uses some other configuration files:
  
Line 214: Line 218:
 Each directory under the [[#​RootDirectory]] may have a ''​webctrl.ini''​ file which overrides certain settings for Each directory under the [[#​RootDirectory]] may have a ''​webctrl.ini''​ file which overrides certain settings for
 the directory it's in and all child directories. ​ Configuration keys may be set the directory it's in and all child directories. ​ Configuration keys may be set
-either globally, ​or in a per-filename group. ​ Using the * and ? wildcards as +either globally, in a per-filename group, or, in version 3.17 or greater, a per-directory-name group. 
-the group name such as ''​[*.html]''​. ​ The following keys may be used in these files:+Using the * and ? wildcards as the group name such as ''​[*.html]''​ or ''​[dirname/​]''​. ​ The following keys may be used in these files:
  
 === AccessRequirements === === AccessRequirements ===
 Specifices an ARS string which all users must match to be able to access Specifices an ARS string which all users must match to be able to access
 files in this directory. ​ Will force an HTTP login. files in this directory. ​ Will force an HTTP login.
 +
 +For example, to require a login, but allow **any** user to access files in a
 +directory, but only a sysop to access ''​*.log''​ files and .git directories,​ the following could be used:
 +<file webctrl.ini>​
 +AccessRequirements=level 0
 +[*.log]
 +AccessRequirements=level 90
 +[*.git]
 +AccessRequirements=level 90
 +</​file>​
  
 === Realm === === Realm ===
Line 247: Line 261:
 current directory. ​ This effecively works like a custom 404 page. current directory. ​ This effecively works like a custom 404 page.
  
-For example, to require a login, but allow **any** user to access files in a +=== FastCGISocket === 
-directory, but only sysop to access ''​*.log''​ files, ​the following could be used:+Specifies the socket and port of FastCGI listener in the <​Address>:<​Port>​ format (ie: 127.0.0.1:​9000). ​ Should ​be used with wildcard sections like this:
 <file webctrl.ini>​ <file webctrl.ini>​
-AccessRequirements=level 0 +[*.php
-[*.log+FastCGISocket=127.0.0.1:​9000
-AccessRequirements=level 90+
 </​file>​ </​file>​
  
 +Added on November 1st, 2015 to CVS (in 3.17a).
 +
 +See [[howto:​php]] for details on using with PHP.
 +
 +=== Rewrite* ===
 +Specifies a Javascript snippet which can modify the http_request.request_string. ​ This allows internal redirects like the RewriteRule feature in Apache .htaccess files. ​ The key must *begin* with the string "​Rewrite"​ which may be followed by any legal INI key characters. ​ The order of execution is not guaranteed.
 +
 +Added on November 3rd, 2015 to CVS (in 3.17a).
 +
 +=== JSPreExec ===
 +A JavaScript snippet which is executed in the same context as Rewrite* lines, but before any Rewrites are executed. ​ This allows load()ing some common code before execution... ie: ''​JSPreExec=load(js.startup_dir+'/​rewrite_lib.js'​);''​.
 +
 +Added on November 3rd, 2015 to CVS (in 3.17a).
  
 ===== JavaScript Objects ===== ===== JavaScript Objects =====
Line 711: Line 737:
 check for files. check for files.
  
 +{{indexmenu_n>​4}}
  

In Other Languages