对象 SslServer
ssl 服务器对象,可方便创建一个标准多纤程 ssl 服务器
SslServer 对象是将 TcpServer 和 SslHandler 组合封装的对象,方便快速搭建服务器,逻辑上相当于:
1
2
3var svr = new net.SslServer(addr, port, new ssl.Handler(crt, key, function(req) {
...
}));
创建方法:
1
2
3
4var ssl = require("ssl");
var svr = new http.Server(crt, key, function(req) {
...
});
继承关系
构造函数
SslServer
SslServer 构造函数,在所有本机地址侦听
1
2
3new SslServer(Array certs,
Integer port,
Handler listener);
调用参数:
- certs: Array, 服务器证书列表
- port: Integer, 指定 ssl 服务器侦听端口
- listener: Handler, 指定 ssl 接收到的内置消息处理器,处理函数,链式处理数组,路由对象,详见 mq.Handler
certs 格式为:
1
2
3
4
5
6
7
8
9
10
11[{
name: "fibjs.org",
crt: [X509Cert object],
key: [PKey object]
},
{
name: "*.fibjs.org",
crt: [X509Cert object],
key: [PKey object]
}
]
SslServer 构造函数
1
2
3
4new SslServer(Array certs,
String addr,
Integer port,
Handler listener);
调用参数:
- certs: Array, 服务器证书列表
- addr: String, 指定 ssl 服务器侦听地址,为 "" 则在本机所有地址侦听
- port: Integer, 指定 ssl 服务器侦听端口
- listener: Handler, 指定 ssl 接收到的连接的内置消息处理器,处理函数,链式处理数组,路由对象,详见 mq.Handler
certs 格式为:
1
2
3
4
5
6
7
8
9
10
11[{
name: "fibjs.org",
crt: [X509Cert object],
key: [PKey object]
},
{
name: "*.fibjs.org",
crt: [X509Cert object],
key: [PKey object]
}
]
SslServer 构造函数,在所有本机地址侦听
1
2
3
4new SslServer(X509Cert crt,
PKey key,
Integer port,
Handler listener);
调用参数:
- crt: X509Cert, X509Cert 证书,用于客户端验证服务器
- key: PKey, PKey 私钥,用于与客户端会话
- port: Integer, 指定 ssl 服务器侦听端口
- listener: Handler, 指定 ssl 接收到的内置消息处理器,处理函数,链式处理数组,路由对象,详见 mq.Handler
SslServer 构造函数
1
2
3
4
5new SslServer(X509Cert crt,
PKey key,
String addr,
Integer port,
Handler listener);
调用参数:
- crt: X509Cert, X509Cert 证书,用于客户端验证服务器
- key: PKey, PKey 私钥,用于与客户端会话
- addr: String, 指定 ssl 服务器侦听地址,为 "" 则在本机所有地址侦听
- port: Integer, 指定 ssl 服务器侦听端口
- listener: Handler, 指定 ssl 接收到的连接的内置消息处理器,处理函数,链式处理数组,路由对象,详见 mq.Handler
成员属性
verification
Integer, 设定证书验证模式,缺省为 VERIFY_NONE
1Integer SslServer.verification;
ca
X509Cert, 客户端证书验证证书链
1readonly X509Cert SslServer.ca;
socket
1readonly Socket SslServer.socket;
handler
Handler, 服务器当前事件处理接口对象
1Handler SslServer.handler;
成员函数
start
启动当前服务器
1SslServer.start();
stop
关闭 socket中止正在运行的服务器
1SslServer.stop() async;
toString
返回对象的字符串表示,一般返回 "[Native Object]",对象可以根据自己的特性重新实现
1String SslServer.toString();
返回结果:
- String, 返回对象的字符串表示
toJSON
返回对象的 JSON 格式表示,一般返回对象定义的可读属性集合
1Value SslServer.toJSON(String key = "");
调用参数:
- key: String, 未使用
返回结果:
- Value, 返回包含可 JSON 序列化的值