Appweb配置
具体参考源码配置demo:/appweb-6.1.1/test/appweb.conf
Appweb操作通常由Appweb配置文件(appweb.conf)控制。 这个配置文件是在Appweb启动时读取的,它管理着Appweb配置的各个方面,包括监听什么端口和地址,加载哪些模块,在哪里查找网页以及如何记录请求。
在appweb启动时读取一次。 对配置文件的更改将需要重新启动Appweb。
另一个配置文件可以通过使用-
-config Appweb命令选项指定。
1. Sample configuration file(简单的示例配置文件)
配置指令是每行一个,对指令名称不区分大小写。以“#”字符开头的行是注释,并被忽略
2.Configuration Blocks(配置块)
一个appweb.conf文件由多种配置选项构成:
●
Global Directives (全局指令)
● Route Blocks (路由块)
● Virtual Host Blocks (虚拟主机块)
● Include Directives (Include 指令)
● Conditional Directives (条件指令)
Ⅰ. Global Directives(全局指令)
没有被任何选项块包含的选项就是全局选项,定义一些 appweb 的全局属性。
Ⅱ. Route Blocks(路由块)
Route块定义了应用于特定URL的一组指令。该块是由Route指令创建的
例如
:
它表示以 "/myapp/" 开头的 URL 请求转给 esp 处理。
Ⅲ. Virtual Host Blocks(虚拟主机块)
虚拟主机块定义了应用于虚拟子服务器的一组指令。虚拟服务器可能与虚拟服务器名称或IP地址相关联。虚拟主机使您能够分割web服务器以服务于不同域或IP地址的唯一内容。
下面是一个基于ip的虚拟主机的例子:
下面是一个基于名称的虚拟主机的示例:
Ⅳ.
Include Directives(Include 指令)
include指令允许将其他文件包含在配置文件中。include指令可以是带有通配符的单个文件名或文件名(做用户名密码储存数据库的时候会用到)
Ⅴ. Conditional Directives (条件指令)
配置文件通过
指令支持条件处理。if指令测试一个符号值,如果是true,它可以解析嵌套的指令。如果值为false,则会忽略嵌套的指令。
3.Appweb支持的配置指令列表(具体可以参考appweb-6.1.1/test/appweb.conf文件配置)
Name
|
Purpose
|
CGI program to handle specific content.
| |
Add an input filter to the processing pipeline.
| |
Add a handler for processing given file extensions.
| |
Add a supported language and filename suffix to use for this language.
| |
Add a per-language content directory.
| |
Add an output filter to the processing pipeline.
| |
Add a MIME type specification.
| |
Map URLs to directories.
| |
Define which servers can access content.
| |
Automatically login as the designated user.
| |
Define the quality of protection for Digest Authentication.
| |
Define the name of the user group file for authentication.
| |
Define the authentication method: "config" or "system".
| |
Define the realm of users to be permitted access to this set of documents.
| |
Define the type of authentication to use: Basic or Digest.
| |
Define the file of user names.
| |
Configure client and server side caching.
| |
Define a name for the server to use when creating redirections.
| |
Escape shell special characters in CGI environment variables.
| |
Define a prefix string for URI query and form variables when passing to CGI programs.
| |
Define the directory for a "chroot jail" in which Appweb will execute.
| |
Define a conditional test for a route.
| |
Define cross-origin sharing exceptions for the route.
| |
Set the default language to use for a route.
| |
Define a defensive response for attack monitoring.
| |
Define which servers cannot access content.
| |
Define the default index file to service for directory requests.
| |
Directory containing web content.
| |
Define an error document to serve.
| |
Define the location and format of the error log.
| |
Define an ESP application.
| |
Define the timeout period to wait for requests to complete before exiting or restarting.
| |
Manage the response headers.
| |
Define the O/S account group used by Appweb.
| |
Define the directory containing configuration files.
| |
Ignore UTF-8 encoding errors in WebSockets
| |
Define the options for directory listings.
| |
Define the order of processing directory index options.
| |
Maximum request and connection inactivity duration.
| |
Set the maximum buffer size for pipeline stages.
| |
Set the maximum size of the Appweb cache for responses and sessions.
| |
Set the maximum size of a single item in the Appweb cache.
| |
Set the maximum transfer chunk encoding size.
| |
Set the limit of simultaneous clients.
| |
Set the limit of simultaneous client connections.
| |
Set the maximum number of open files or sockets on a Unix system.
| |
Define the re-use count for a connection.
| |
Limit the total memory usage of Appweb. This is a hard limit.
| |
Maximum number of CGI processes to spawn.
| |
Set the limit of simultaneous requests for a single IP address.
| |
Set the maximum size of the incoming request body.
| |
Set the maximum size of the incoming request form data.
| |
Set the maximum total request header size.
| |
Set the maximum number of request header lines.
| |
Set the maximum response body size.
| |
Set the limit of simultaneous client sessions.
| |
Set the maximum file upload size.
| |
Set the maximum size of a request URI.
| |
Limit the maximum size of a Web Sockets Message Frame.
| |
Limit the maximum size of a Web Sockets Message.
| |
Limit the maximum size of a Web Sockets Message Packet.
| |
Limit the maximum size of a Web Sockets Message.
| |
Define the IP address and port on which to listen.
| |
Load an Appweb module.
| |
Specify a list of directories to search for modules.
| |
Control the tracing of HTTP events.
| |
Control the mapping of requests by extension.
| |
Define the action to take when memory is depleted.
| |
Control the acceptable HTTP method verbs.
| |
Monitor a resource for attacks and trigger a defensive response.
| |
Control directory listing options.
| |
Specify the order in which the allow and deny directives apply.
| |
Define a route step to test request param values.
| |
Define a route prefix to trim from the URI.
| |
Preserve WebSocket frames.
| |
Redirect requests to a new target.
| |
Define a HTTP request header test for a route.
| |
Maximum time to parse a request or response HTTP headers.
| |
Maximum request duration.
| |
Define which authenticated users will be permitted access to content.
| |
Open a previously defined route to add or modify directives.
| |
Reset the input and output pipeline for a block.
| |
Defines an authentication role with associated abilities.
| |
Define a block of directives to apply to a URL route.
| |
Set the route name.
| |
Map a URL to a directory for CGI processing.
| |
Set the connector stage for a block.
| |
Set the handler to process requests.
| |
Define source code for the handler to use.
| |
Number of worker threads to pre-allocate and preserve.
| |
Control stealth mode.
| |
Define the target action to take for a route to serve a response to the client.
| |
Stack size for each thread.
| |
Define the server names to be served by a host or virtual host.
| |
Control the visibility of the session cookie in the browser.
| |
Maximum session state inactivity duration.
| |
Define the location of the client certificate file.
| |
Define the server certificate.
| |
Define the server's private key.
| |
Set the cipher suite to use for SSL.
| |
Enable SSL processing for a block.
| |
Set the SSL protocols to enable.
| |
Verify the identity of the client certificate.
| |
Verify the identity of the issuer or the client certificate.
| |
Control if request body content is buffered or streamed to the handler.
| |
Define a route target.
| |
Define what request events to trace.
| |
Define the location and format of the request trace log.
| |
Specify the location of the MIME types file.
| |
Unload an Appweb module.
| |
Define an update modification for a route.
| |
Set the directory for uploaded files.
| |
Control if files are auto-deleted after uploading.
| |
Define the O/S user account used by Appweb.
| |
Create a directory block for virtual hosting for an IP address
|