SFCB 是 CIM 服务器的“轻量级”实现,但也是可以灵活配置的。有若干选项可控制其行为。您有三种基本方式可用来控制 SFCB 服务器:
设置相应的环境变量
使用命令行选项
更改其配置文件
有若干环境变量会直接影响 SFCB 的行为。您必须用 rcsfcb restart 重启动 SFCB 守护程序使更改生效。
SFCB_PAUSE_PROVIDER
指定提供程序的名称。SFCB 服务器会在第一次装载提供程序后暂停。然后您就可以将运行时调试程序加到提供程序的进程中,以便调试。
SFCB_PAUSE_CODEC
指定 SFCB 编解码器的名称。SFCB 服务器将在第一次装载编解码器后暂停。然后您就可以将运行时调试程序加到进程中。
SFCB_TRACE
为 SFCB 指定调试消息的级别。有效值有 0(无调试消息)、1(关键调试消息)和 4(全部调试消息)。默认值是 1。
SFCB_TRACE_FILE
默认情况下,SFCB 将其调试消息输出到标准错误输出 (STDERR)。设置该值会将调试消息写入指定的文件。
SBLIM_TRACE
为 SBLIM 提供程序指定调试消息级别。有效值有 0(无调试消息)、1(关键调试消息)和 4(全部调试消息)。
SBLIM_TRACE_FILE
默认情况下,SBLIM 提供程序将把跟踪消息输出到 STDERR。设置该值会将调试消息写入指定的文件。
SFCB 守护程序 sfcbd 有若干命令行选项,可以打开或关闭特定运行时功能。SFCB 守护程序启动时输入这些选项。
-c, --config-file=FILE
SFCB 守护程序启动时,默认会从 /etc/sfcb/sfcb.cfg 读取其配置。您可以用该选项指定备用配置文件。
-d, --daemon
强制 sfcbd 及其子进程在后台运行。
-s, --collect-stats
打开运行时统计数字收集。各种 sfcbd 运行时统计数字都会写入当前工作目录下的 sfcbStat 文件。默认情况下,不收集统计数字。
-l, --syslog-level=LOGLEVEL
指定系统日志的详细程度级别。LOGLEVEL 可以是 LOG_INFO、LOG_DEBUG 或 LOG_ERR(默认)。
-t, --trace-components=NUM
激活组件级跟踪消息,其中 NUM 是进行 OR 运算的位掩码整数,它定义要跟踪哪个组件。您指定 -t ? 后,它会列出所有组件及其相关整数位掩码:
tux@mercury:~> sfcbd -t ? --- Traceable Components: Int Hex --- providerMgr: 1 0x0000001 --- providerDrv: 2 0x0000002 --- cimxmlProc: 4 0x0000004 --- httpDaemon: 8 0x0000008 --- upCalls: 16 0x0000010 --- encCalls: 32 0x0000020 --- ProviderInstMgr: 64 0x0000040 --- providerAssocMgr: 128 0x0000080 --- providers: 256 0x0000100 --- indProvider: 512 0x0000200 --- internalProvider: 1024 0x0000400 --- objectImpl: 2048 0x0000800 --- xmlIn: 4096 0x0001000 --- xmlOut: 8192 0x0002000 --- sockets: 16384 0x0004000 --- memoryMgr: 32768 0x0008000 --- msgQueue: 65536 0x0010000 --- xmlParsing: 131072 0x0020000 --- responseTiming: 262144 0x0040000 --- dbpdaemon: 524288 0x0080000 --- slp: 1048576 0x0100000
能反映 sfcbd 的内部功能,但不会产生过多消息的有用值是 -t 2019。
SFCB 启动后从配置文件 /etc/sfcb/sfcb.cfg 读取其运行时配置。该行为在启动时可以用 -c 选项覆盖。
配置文件包含选项:值对,一行一对。当对此文件执行更改时,如果文本编辑器保存文件的格式是所使用环境的本机格式,则可以使用此文本编辑器更改文件。
由井号 (#) 注释的选项的所有设置都使用默认设置。
可看到以下选项:
指定 SFCB 是否接受 HTTPS 客户端连接。默认值是 true。
enableHttps: 选项
|
选项 |
描述 |
|---|---|
|
true |
启用 HTTPS 连接。 |
|
false |
禁用 HTTPS 连接。 |
指定 SFCB 是否为指示支持提供 interop 名称空间。 默认值是 true。
enableInterOp: 选项
|
选项 |
描述 |
|---|---|
|
true |
启用 interop 名称空间。 |
|
false |
禁用 interop 名称空间。 |
根据客户端用户标识符打开或关闭它接受请求之前所做的基本身份验证。默认值是 true,表示不执行客户端身份验证。
doBasicAuth: 选项
|
选项 |
描述 |
|---|---|
|
true |
启用基本身份验证。 |
|
false |
禁用基本身份验证。 |
该选项启用或禁用 HTTP/HTTPS“分块”。 如果启用,服务器将以小“块”形式将大量响应数据返回客户端,而不是缓存数据并以一个大块全部发回。默认值是 true。
useChunking: 选项
|
选项 |
描述 |
|---|---|
|
true |
启用 HTTP/HTTPS 数据分块。 |
|
false |
禁用 HTTP/HTTPS 数据分块。 |
指定一个连接上的 SFCB HTTP 进程在两次请求之间最多等待多少秒就终止。将它设置为 0 将禁用 HTTP keep-alive。默认值是 0。
keepaliveTimeout: 秒
如果提供程序注册文件未指定任何其他组,而该选项设置为 true,则同一共享库内的所有提供程序都将在同一进程中执行。
providerAutoGroup: 选项
|
选项 |
描述 |
|---|---|
|
true |
启用提供程序分组。 |
|
false |
禁用提供程序分组。 |
指定包含服务器证书的文件的名称。该文件必须是 PEM (保密邮件,RFC 1421 和 RFC 1424)格式。只有当 enableHttps 设置为 true 时才需要该文件。默认值是 /etc/sfcb/server.pem。
sslCertificateFilePath: 路径
指定包含服务器证书私用密钥的文件的名称。该文件必须是 PEM 格式且不能有通行密码的保护。该文件仅当 enableHttps 设置为 true 时才需要。默认值是 /etc/sfcb/file.pem。
sslKeyFilePath: 路径
指定包含客户端的 CA 或自我签名证书的文件的名称。该文件必须是 PEM 格式,只有当 sslClientCertificate 设置为 accept 或 require 时才需要。默认值是 /etc/sfcb/client.pem。
sslClientTrustStore: 路径
指定 SFCB 处理基于客户端证书的身份验证的方式。如果设置为 ignore,将不会从客户端请求证书。 如果设置为 accept,它会从客户端请求证书,但即使客户端没有证书也不会失败。如果设置为 require,会在客户端不存在证书时拒绝客户端连接。默认值是 ignore。
sslClientCertificate: 选项
|
选项 |
描述 |
|---|---|
|
ignore |
禁止请求客户端证书。 |
|
accept |
禁止请求客户端证书。 如果证书不存在,不会失败。 |
|
require |
拒绝无有效证书的客户端连接。 |