【发布时间】:2012-02-21 15:44:40
【问题描述】:
我现在想知道我们是否可以在 Linux 环境下基于以下策略/方案制作某种 SSL 服务器。
(1) 对于初始请求,应该是在父服务器进程中传入的。在建立 SSL 连接并处理请求的初始解析后,请求(套接字)将被转发到请求处理进程进行进一步处理。
(2) 请求处理过程应该是预先运行的。从这个意义上说,我们不会在这里使用任何基于 fork-exec-pipe 的方案。
(3) 关于父服务器进程和请求处理进程之间的通信,已经建立了一些IPC,以便使用sendmsg()将打开的套接字描述符从父服务器进程复制到请求处理进程—— SCM_RIGHTS 技术。
(4) 在 SSL 功能方面,我们应该使用 OpenSSL (libssl)。
(5) 在请求处理过程中,我们应该利用父服务器进程的共享套接字描述符来创建新的 SSL 套接字。
关键是我不想浪费在服务器和请求处理过程之间传输数据的任何性能。我也不想根据请求生成请求处理过程。所以我想提前生成请求处理过程。
虽然我不确定我在这里所做的是否对你有意义,但如果你们中的任何人能给我一些关于上述方法是否可行的提示,我将不胜感激。
【问题讨论】: