cFos PNet 每天会调用一次维护脚本。您可以通过改变 GLOBAL.INI 文件内 [param] 字段的 daily_maintenance= <script url> 和 maintenance_time=hh:mm:ss 的值来设置脚本名称和调用时间。<script url> 表示脚本所在目录位置。
cFos PNet 使用的是 Windows HTTP 服务器应用程序接口(Windows HTTP Server API)。这样可以使多个应用监听默认 HTTP 端口 80。HTTP Server API 向所有使用 HTTP Server API 的应用开放端口。
HTTP Server API 需知道程序到 URL 匹配规则才能决定由哪个程序获取 HTTP 请求。可由 GLOBAL.INI 文件中 [param] 字段的 host_name= <key> 来设置此匹配规则。默认情况下是 +, 比如匹配所有 URL。查看 http://msdn.microsoft.com/en-us/library/aa364698(v=vs.85).aspx 以了解如何限制 URL 与其他程序相匹配。不幸的是目前 Skype 只使用端口 80。想让 cFos PNet 使用端口 80 需先在 Skype 高级设置——连接设置中禁用端口 80 和 443。
cFos PNet/HTTP Server API 也都支持 SSL(安全套接层)。使用 SSL 需获得 SSL 证书。此证书需通过 SSL 认证代理机构办理。否则,用户浏览器无法通过验证服务器身份是否被伪造。
此处介绍使用 Windows 获取和验证 SSL 证书的标准步骤:
1. 运行 makecert -r -sr LocalMachine -ss MY -a sha1 -n "CN=spaceship.dyndns.org" -sky exchange -pe -eku 1.3.6.1.5.5.7.3.1
2. 获取证书指纹:
> mmc
> 文件 -> 添加删除管理单元 -> 证书 -> 计算机账户 -> 本地计算机,之后: "查看个人证书" 并查看认证资料中的证书指纹。把这枚指纹作为下面 netsh 命令中 certhash 的值(不带空格)(在 Vista 之前的系统上,您应该使用 httpcfg 替代 netsh)
3. netsh http add sslcert ipport=0.0.0.0:443 certhash=46aab740254a12c9146142067f5cf69e583154ad appid={a227f2f9-d103-4e0f-92a4-7086c8ab35ac}
若想使用一个已经存在的SSL证书,你需要确认它是兼容Windows的。例如,如果你有一个Unix系统的证书(后缀可能为.PEM),请下载OpenSSL并使用下列命令转换它:
copy ca1.cer+ca2.cer+mycert.cer all.cer
openssl pkcs12 -export -out wwwcfosde.pfx -inkey cfos-private.key.pem -in all.cer
当mycert.cer是你的证书,ca1.cer和ca2.cer(ca3.cer等)需要是2个带信任链的中级CA证书。
mycert.cer必须是x.509格式。如果需要,你可以使用OpenSSL将其转换为x.509格式。输出的mycert.pfx必须为Windows可读的pkcs#12格式。
要从 SSL 端删除证书,请输入
> netsh http delete sslcert ipport=0.0.0.0:443
> netsh http show sslcert
如果你想更改证书,你需要使用
> netsh http delete
命令删除旧证书,然后使用
> netsh http add ...
命令添加新证书。