如果要让数据库服务器通过 HTTP 或 HTTPS 监听 Web 服务请求,则必须在启动服务器时在命令行上指定要监听的 Web 请求的类型。缺省情况下,数据库服务器不监听 Web 服务请求,这样就使客户端无法访问数据库中可能定义的任何服务。
还可以在命令行上指定 HTTP 或 HTTPS 服务的各种属性,例如在哪个端口上进行监听。
还必须在数据库中创建 Web 服务。请参见创建 Web 服务。
可使用 -xs 选项启用协议。HTTP 和 HTTPS 是两种可用的 Web 服务协议。协议名后面的括号中的可选参数允许您自定义对每种 Web 服务的访问。
此选项的一般语法如下:
-xs { protocol [ (option=value; ...) ], ... }
如果想要同时启动多个 Web 服务器,则必须更改其它 Web 服务器的端口,因为它们的缺省端口都相同。
可以选择以下 Web 服务协议值:
http 监听 HTTP 连接。
https 监听 HTTPS 连接。支持使用 SSL 3.0 版和 TLS 1.0 版的 HTTPS 连接。
none 不监听 Web 服务请求。这是缺省设置。
以下是一些可用选项:
FIPS 指定 FIPS=Y 可监听 HTTPS FIPS 连接。
ServerPort [PORT] 监听 Web 请求所使用的端口。缺省情况下,SQL Anywhere 在端口 80 上监听 HTTP 请求,在端口 443 上监听安全 HTTP (HTTPS) 请求。FIPS 认可的 HTTPS 连接的缺省端口与 HTTPS 的相同。
例如,如果端口 80 上已有 Web 服务器在运行,则可以使用以下选项启动一个在端口 8080 上监听 Web 请求的数据库服务器:
dbeng11 mywebapp.db -xs http(port=8080) |
作为另一个实例,以下命令使用 SQL Anywhere 随附的示例标识文件(您必须安装了 RSA 或 FIPS 认可的 RSA 加密才能拥有此文件)来启动安全 Web 服务器。此命令应在单独的一行中输入。
dbeng11 -xs https(identity=rsaserver.id; identity_password=test) |
示例标识文件仅适用于测试和开发阶段。由于它是 SQL Anywhere 的标准部分,因此不提供任何保护。请先将其替换为您自己的证书,然后再部署应用程序。
DatabaseName [DBN] 指定处理 Web 请求时要使用的数据库名称,或者使用 REQUIRED 或 AUTO 关键字指定是否需要在 URL 中使用数据库名称。
如果此参数设置为 REQUIRED,则 URL 必须指定数据库名称。
如果此参数设置为 AUTO,则 URL 可以指定数据库名,但不必这么做。如果 URL 中不包含数据库名,将使用服务器上的缺省数据库来处理 Web 请求。
如果此参数设置为数据库的名称,则使用该数据库处理所有 Web 请求。URL 中不得包含数据库名。
LocalOnly [LOCAL] 当设置为 YES 时,此参数将使网络数据库服务器拒绝来自不同计算机上运行的客户端的所有连接。此选项对个人数据库服务器没有任何影响,因为此类服务器从不接受来自其它计算机的 Web 服务请求。缺省值是 NO,表示接受来自客户端的请求,而无论客户端的位置在哪里。
LogFile [LOG] 数据库服务器将有关 Web 服务请求的信息写入到的文件的名称。
LogFormat [LF] 控制写入日志文件的消息的格式以及消息中显示哪些字段。如果消息以字符串形式显示,则在写入每条消息时将使用当前值替换代码(例如 @T)。
缺省值为 @T - @W - @I - @P - "@M @U @V" - @R - @L - @E,这将生成如下所示的消息:
06/15 01:30:08.114 - 0.686 - 127.0.0.1 - 80 - "GET /web/ShowTable HTTP/1.1" - 200 OK - 55133 - |
日志文件的格式与 Apache 兼容,因此可以使用相同的工具进行分析。
有关字段代码的详细信息,请参见LogFormat 协议选项 [LF]。
LogOptions [LOPT] 允许您指定用于控制将哪些消息(或哪些类型的消息)写入日志文件的关键字和错误号。请参见LogOptions 协议选项 [LOPT]。
有关可用选项的完整列表以及这些选项的详细信息,请参见网络协议选项。
Copyright © 2009, iAnywhere Solutions, Inc. - SQL Anywhere 11.0.1 |