~((1 - 1024)) <<1024>>
The MaxClients directive specifies the maximum number of clients that can be connected simultaneously.
When you start the server, the processes equivalent to the number specified in the StartServers directive start and wait for requests. When many requests occur simultaneously, multiple processes process these requests. When the remaining number of processes waiting for request is less than the number specified in the MinSpareServers directive, new processes are gradually generated. The processes are generated until the number of total processes is equal to the number specified in the directive. After that, if the request processing ends and the request waiting processes increase, the processes are terminated until the number of processes specified in the MaxSpareServers directive is reached.
For details on the other directives related to number of processes, see 4.1 Relationship between processes and directives of Cosminexus HTTP Server.
httpsd.conf
MaxClients 150
~((0 - 2147483647))<<100>>
This directive specifies the upper limit for the number of KeepAlive persistent connections. If the upper limit is not specified, it is set to 0. In KeepAlive, since specific clients occupy the server processes, and hence set the upper limit to give chance to other clients also to receive the services.
httpsd.conf
MaxKeepAliveRequests 100
~((0-2147483647)) <<0>>
This directive specifies the request processing frequency of a server process. A server process ends after processing the specified number of requests. This has an advantage to prevent the failure due to memory leakage by the user-created applications. If the frequency is set to 0 the upper limit for the request processing frequency of a server process is not set. In such cases the server process does not end and waits for processing the next request.
httpsd.conf
MaxRequestsPerChild 10000
~((1 - 1024))<<10>>
This directive specifies the maximum number of server processes that are running in the request waiting state. For details on other directives related to number of processes, see 4.1 Relationship between processes and directives of Cosminexus HTTP Server.
If the value of this directive is less than the value of the MinSpareServers directive, a value of the MinSpareServers specification value + 1 is assumed.
httpsd.conf
MaxSpareServers 10
~((1 - 1024))<<5>>
This directive specifies the minimum number of server processes that are running in the request waiting state. If number of server processes is less than the specified value, the Web server generates new processes. For details on other directives related to number of processes, see 4.1 Relationship between processes and directives of Cosminexus HTTP Server.
httpsd.conf
MinSpareServers 5
The MultiviewsMatch directive specifies the extension types that are the targets of content negotiation.
NegotiatedOnly: Extensions that are related only to character sets, compression format, language code, and MIME type are the targets of content negotiation.
Handlers: In addition to the extensions specified in NegotiatedOnly, the extensions related to the handler are also the target of content negotiation.
httpsd.conf, <VirtualHost>, <Directory>, .htaccess
FileInfo level
MultiviewsMatch Handlers
This directive specifies the IP address that is used by the virtual host based on the sever name. An IPv6 address can be specified for IP-address. Specify an IPv6 address by enclosing it in square brackets ([ ]).
If you specify an asterisk (*) instead of an IP address, a virtual host based on the server name is generated for connections from IPv4 addresses other than the IPv4 addresses in both the NameVirtualHost directive that specifies IPv4 addresses and in the <VirtualHost> block. This specification is convenient when you use only a virtual host based on server name and do not want to set IP address in configuration file.
httpsd.conf
~<<All>>
Specify this directive for restricting the functionality that the user can use.
+: Permits the use of functionality specified in the option.
-: Prohibits the use of functionality specified in the option.
Option | Functionality |
---|---|
All | All the options excluding MultiViews and SymLinksIfOwnerMatch are enabled. |
ExecCGI | Permits the execution of the CGI script. |
FollowSymLinks | Traces the symbolic link. You cannot specify this option in Windows version. |
Indexes | When the directory is specified in the URL, and if the file (by default index.html) specified in the DirectoryIndex directive does not exist, this option displays the directory index. |
MultiViews | Supports the Content-negotiated Multiviews. |
None | Disables the functionality that you can specify for all options. |
SymLinksIfOwnerMatch | Traces the link only when the owner of file or directory and the owner of symbolic link are same. You cannot specify this option in Windows version. |
Options All
Options ExecCGI
Options All
Options ExecCGI
Options Indexes ExecCGI
httpsd.conf, <VirtualHost>, <Directory>, .htaccess
Options level
~<<deny,allow>>
This directive specifies the evaluation order of the Allow directive and the Deny directive. You can specify the following in the directive. Earlier evaluated directives are overwritten by the later ones.
Directives | Meaning |
---|---|
deny,allow | Evaluates the specification of Deny directive before the specification of Allow directive. |
allow,deny | Evaluates the specification of Allow directive before the specification of Deny directive. |
mutual-failure | Permits the access only to the host where the Allow directive is specified and Deny directive is not specified. |
<Directory>, .htaccess
Limit level
You can specify an optional environment variable to pass on to the CGI script.
httpsd.conf, <VirtualHost>, <Directory>, .htaccess
FileInfo level
PassEnv TMP
~<<logs/httpd.pid>>
This directive specifies a file name that stores control process ID. In file name, you can specify absolute path, or the relative path from the specified value of ServerRoot directive.
In Windows, changes to the values specified in the PidFile directive are not applied when you restart the server. If you have changed values specified in the PidFile directive, stop and then restart the Web server.
In UNIX, changes to the values specified in the PidFile directive are not applied when you restart the server. If you have changed values specified in the PidFile directive, use the kill command to stop the Web server, and then restart the Web server. The httpsdctl command cannot be used while the Web server is stopped.
httpsd.conf
PidFile logs/httpd.pid
~((1 - 65535))<<80>>
The Port directive specifies the port number of the server that receives requests from Web browsers that use IPv4 addresses.
Requests from Web browsers that use IPv6 addresses are not received even if the Port directive has been specified. To use IPv6 addresses, specify the IPv6 addresses in the Listen directive. In addition, if you are simultaneously using IPv4 addresses, also specify the IPv4 address in the Listen directive.
httpsd.conf
Port 80
The ProxyErrorOverride directive overrides the response header and response body when the backend server returns a three-digit status code beginning with 3, 4, or 5. As a result, the reverse proxy sends a self-generated response to the client instead of the response from the backend server.
On: Overrides the response header and response body when the backend server returns a three-digit status code beginning with 3, 4, or 5.
Off: Does not override the response header or the response body.
The mod_proxy and mod_proxy_http modules must be embedded to use a reverse proxy. For details on reverse proxies, see 4.7 Setting the reverse proxy.
httpsd.conf, <VirtualHost>
ProxyErrorOverride On
When the backend server returns a three-digit status code beginning with 3, 4, or 5, the response generated by the reverse proxy is returned to the client.
When using a reverse proxy server, the ProxyPass directive specifies the request received from the Web browser and the address used to forward the request.
path-name: Specifies the request from the Web browser to the reverse proxy as a URL that starts with a forward slash (/).
URL: Specifies the backend server URL to which the request is forwarded in the format http://host-name[:port-number].
You can also specify an IPv6 address or the host name corresponding to an IPv6 address for URL.
You cannot specify a path name that is a duplicate of any of the following directive specification values:
The mod_proxy and mod_proxy_http modules must be embedded to use a reverse proxy. For details on reverse proxies, see 4.7 Setting the reverse proxy.
httpsd.conf, and <VirtualHost>
When using a reverse proxy server, the ProxyPassReverse directive changes the URL coded in the Location header field in the redirect response sent from the backend server. To make the redirect request from the Web browser pass through the reverse proxy server, change the Location header to the value specified in this directive.
path-name: Specifies the path of the reverse proxy that receives the redirect request as a URL that starts with a forward slash (/).
URL: Specifies the backend server URL in the Location header that is to be changed, in the format http://host-name[:port-number].
You can specify an IPv6 address or the host name corresponding to an IPv6 address for URL. IPv6 addresses have various formats, so use care when specifying values. If the backend server URL differs from the specified value, the directive is not enabled. When specifying an IPv6 address, check the format of the IPv6 address in the Location response header that is sent from the backend server.
The mod_proxy and mod_proxy_http modules must be embedded to use a reverse proxy. For details on reverse proxies, see 4.7 Setting the reverse proxy.
httpsd.conf, <VirtualHost>
When using a reverse proxy server, the ProxyPreserveHost directive specifies whether to forward the Host header value received from the client to the backend server without changes.
On: Forwards the Host header value received from the client to the backend server without changes.
Off: Changes the Host header value received from the client according to the value specified in the ProxyPass directive, and then forwards the changed value to the backend server.
The mod_proxy and mod_proxy_http modules must be embedded to use a reverse proxy. For details on reverse proxies, see 4.7 Setting the reverse proxy.
httpsd.conf, <VirtualHost>
ProxyPreserveHost On
The Host header value received from the client is forwarded to the backend server without changes.
Specify this directive when you control the use of Via header with the proxy.
on: Adds the information of the local host to the Via header. The existing information does not change.
off: Does not add the information of the local host to the Via header. The existing information does not change.
full: Adds the information in which version of the local host is added as comment, to the Via header. The existing information does not change.
block: Does not add the information of the local host to Via header. Deletes the Via header in the request.
The mod_proxy and mod_proxy_http modules must be embedded to use a reverse proxy. For details on reverse proxies, see 4.7 Setting the reverse proxy.
httpsd.conf, <VirtualHost>
The QOSCookieDomain directive specifies the domain where the cookies used in flow control functionality is enabled. This value is used in HWS creation mode, not in user creation mode. When multiple hosts are set, by specifying this directive you can use cookies between the hosts that share the domain. In the domain name at least two "." must be included.
Note that you can specify the domain name corresponding to an IPv6 address.
The mod_hws_qos module must be embedded to use flow-restricting functionality. For details on flow-restricting functionality, see 4.9 Flow-restricting functionality.
httpsd.conf, and <VirtualHost>
~((0 - 86400))<<300>> (Unit: Seconds)
This directive specifies the validity period of the cookie that is used in the flow restriction functionality in seconds. This value is used in HWS creation mode, not in user creation mode.
The mod_hws_qos module must be embedded to use flow-restricting functionality. For details on flow-restricting functionality, see 4.9 Flow-restricting functionality.
httpsd.conf, <VirtualHost>, <Location>
~<<HWSCHK>>
The QOSCookieName directive specifies the name of the cookie to be used in flow-restriction functionality. Semicolons (;), commas (,), and spaces cannot be used in the cookie name. For session management that uses different cookies between the host and the URL, a different name must be specified.
hws: Manages sessions by using cookies generated by Cosminexus HTTP Server. This is called HWS creation mode.
user: Manages sessions by using cookies generated in an external module other than Cosminexus HTTP Server. This is called user creation mode.
httpsd.conf, <VirtualHost>, <Location>
The QOSCookieSecure directive specifies the setting such that cookies are sent to the client only during SSL access. This value is used in HWS creation mode, not in user creation mode. Note that the cookie is confirmed after the encryption process of SSL ends.
on: Specifies the setting such that the cookies are sent to the client only during SSL access.
off: Specifies the setting such that the cookies are sent to the client even when the access is not with SSL.
The mod_hws_qos module must be embedded to use flow-restricting functionality. For details on flow-restricting functionality, see 4.9 Flow-restricting functionality.
httpsd.conf, <VirtualHost>, <Location>
When the number of server processes in the request waiting state is decreased, this directive specifies the number of server processes used when processing only the requests that are received by sending cookies.
In Windows version, specify the number of server threads.
The mod_hws_qos module must be embedded to use flow-restricting functionality. For details on flow-restricting functionality, see 4.9 Flow-restricting functionality.
httpsd.conf, <VirtualHost>, <Location>
Specify this directive when a process is denied by the flow control functionality, and the request from client is to be redirected to the specified path. In the new path, specify the URL path that includes "Protocol name://host name[:port number]".
You can also specify an IPv6 address or the host name corresponding to an IPv6 address for new-path.
When a request is redirected to the old path, the server returns a response that contains status code 302 and the Location header with the new path. The response cannot be customized.
For details on the specification of the old path and new path, see Redirect directive.
The mod_hws_qos module must be embedded to use flow-restricting functionality. For details on flow-restricting functionality, see 4.9 Flow-restricting functionality.
httpsd.conf, <VirtualHost>, <Location>
This directive specifies the value when the number of the server processes in the request waiting state is decreased and all the received requests are denied.
In Windows version, specify the number of server threads.
The mod_hws_qos module must be embedded to use flow-restricting functionality. For details on flow-restricting functionality, see 4.9 Flow-restricting functionality.
httpsd.conf, <VirtualHost>, <Location>
When the process is denied by the flow control functionality, this directive specifies the contents to be returned along with the status code 503. The contents are cached in the server process, so you need to restart the server whenever there is a change.
file: Returns the specified file with the specified MIME type. When you omit the MIME type, "text/html" is set. In the file name, you can specify absolute path or the relative path from the specified value of the ServerRoot directive.
message: Returns the specified text. Specify the character string with quotation mark (") at the beginning for the text. In the MIME type, "text/html" is set.
The mod_hws_qos module must be embedded to use flow-restricting functionality. For details on flow-restricting functionality, see 4.9 Flow-restricting functionality.
httpsd.conf, <VirtualHost>, <Location>
QOSResponse file "text/html; charset=ISO-8859-1" htdocs/busy.html
QOSResponse message "Server busy.
The ReadmeName directive specifies the file name (without the path information) of the file that describes the comment added as Readme, when the directory index is displayed. You can describe the comment in the HTML or plain text format. However, in the file specified with the AddType directive or the TypesConfig directive, the MIME type must be defined correctly. When you create command in plain text, <PRE> tag is added to the HTML of directory index display.
httpsd.conf, <VirtualHost>, <Directory>, .htaccess
Indexes level
ReadmeName README.html
Display the contents of README.html file under the directory.
Specify the directive when the request from the client for old path is (redirected) to the new path.
In the old path, specify the request URL path that starts with a slash. However, you cannot specify the characters after the ? sign (query string) in the old path.
You cannot specify an old path that is a duplicate of any of the following directive specification values:
For example, the following paths cannot be specified:
Redirect temp /aaa/bbb/ http://aaa.example.com/
ProxyPass /aaa/ http://aaa.example.com/
In the new path, specify the URL path that includes "protocol name://host name[:port number]". You can also specify an IPv6 address or the host name corresponding to an IPv6 address as the URL specified for new-path.
When the request is received in the old path, the specified status code and the response with the new header path set in the Location header is returned. Normally, the Web browser that receives the status code 300, automatically redirects the request to the specified address in the Location header.
With the Redirect directive, you can redirect the request for a specific file to the specific file, or can specify to redirect the request for an optional path under a specific directory to the path with the same name under a different directory. Use the RedirectMatch directive when you want to redirect the request for an optional path under a specific directory to a specific file.
permanent: Responds with the status code 301 Moved Permanently.
temp: Responds with the status code 302 Found.
seeother: Responds with the status code 303 See Other.
gone: Responds with the status code 410 Gone. You cannot specify the new path.
status code: Responds with the specified status code. For details on values that you can specify, see Appendix A Status codes. However, when the status code other than 300 is specified, you cannot specify the new path.
httpsd.conf, <VirtualHost>, <Directory>, .htaccess
FileInfo level
Redirect temp /index.html http://host number:port number/default.html
Redirect the request for /index.html to the "http://host name:port number/default.html" with the status code 302.
Specify this directive when the request from the client to the path that satisfies the condition mentioned in the regular expressions is to be requested again (redirect) for the new path.
Specify the old path of the request URL that starts with a slash in the regular expressions. Note that in old path, you cannot specify characters after the ? sign (query string).
You cannot specify a regular expression that is a duplicate of any of the following directive specification values:
For example, the following regular expressions cannot be specified:
RedirectMatch ^/aaa/bbb/(.*) http://aaa.example.com/$1
ProxyPass /aaa/ http://aaa.example.com/
In the new path, specify the URL path that includes "protocol name://host name[:port number]". You can also specify an IPv6 address or the host name corresponding to an IPv6 address as the URL specified for new-path.
When the regular expressions are grouped using brackets ( ) , you can refer to the character string that matches with the group number i, using $i in the new path. Set the digits 1 to 9 for i. When a request to the path that satisfies the condition described in the regular expressions is received, the Web server responds with the specified status code and the Location header with new path set. Normally, the Web browser that receives the status code 300 automatically sends (redirects) the request to the address specified in the Location header.
For details on specifications of each status code, see Redirect directive.
httpsd.conf, <VirtualHost>, <Directory>, .htaccess
FileInfo level
RedirectMatch ^/other/ http://www.example.com/
RedirectMatch permanent ^/old/(.*) http://www.example.com/new/$1
Specify this directive when you customize the header value received from client.
set: Sets the header. When header exists, rewrite it with the specified header value.
append: Adds the header value to the existing header. A comma delimits the existing header values. Set the header if it does not exist.
add: Sets a header in another line if the header already exists. Use to specify the same header in multiple lines.
unset: If the specified header exists, deletes it.
env=environment-variable: Executes the contents specified in the RequestHeader directive when the specified environment variable is set.
env=!environment-variable: Executes the contents specified in the RequestHeader directive when the specified environment variable is not set.
If header-value contains spaces, you must enclose the value in double quotation marks ("). For header-value, you can specify a character string containing only characters, a character string containing format identifiers, or a character string containing both characters and format identifiers. The format identifiers are as follows:
Format identifier | Description |
---|---|
%t | Displays the request reception time as the time elapsed from January 1, 1970, 00:00:00 GMT (Greenwich Mean Time). The unit is microseconds. t= is added at the beginning. |
%D | Displays the time taken for request processing. The unit is microseconds. D= is added at the beginning. |
%{env_name}e | The value of the env_name environment variable |
The mod_headers module must be embedded to use header customization functionality. For details on header customization functionality, see 4.10 Header customization functionality.
httpsd.conf, <VirtualHost>, <Directory>, .htaccess
FileInfo level
RequestHeader set Host www.example.com
Specify this directive along with the AuthName directive, AuthType directive, AuthUserFile directive (or AuthGroupFile directive). This directive defines the access control.
user: Among the users registered in the password file specified with the AuthUserFile directive, only the users that are specified in the user names can access.
group: Only the users belonging to the group specified in the registered group name in the group file specified with the AuthGroupFile directive can access.
valid-user: All the users registered in the password file specified with the AuthUserFile directive, or the users of the group specified with the LDAPRequire directive can access. You cannot combine the password file and the LDAPRequire directive. Operations are not guaranteed when the two are combined.
file-owner: Among the users registered in the password file specified with the AuthUserFile directive, only the users that match with the owner of the system of the access target file, can access (can not specify in Windows version).
file-group: Among the users belonging to the group specified in the group names registered in the group file that is specified with the AuthGroupFile directive, only those users having a group name matching with the owner of the system of the access target file, can access (cannot specify in Windows version).
<Directory>, .htaccess
AuthConfig level