使用goahead 2.5版本不用做任何修改就可以支持matrixssl-3-1-3-open版本的SSL
把matrixssl-3-1-3-open.tgz解压到goahead 的根目录下(webs-2-5)就可以了
$>cd webs-2-5
$>cd matrixssl-3-1-3-open
$>make
$>cd ../<OS_TYPE>
$>make
在goahead的帮助文档有指导,可以查阅下。这里就不多说。
如果要用最新版本的需要做一下修改,修改如下:
修改<OS_TYPE>/Makefile
比如修改LINUX/Makefile
默认的ssl 目录文件夹是matrixsslDir:=$(shell ls -d ../matrixssl-3-1*/)
修改成如下:(我们这里要用的是3-4版本的,当前最新)
matrixsslDir:=$(shell ls -d ../matrixssl-3-4*/)
然后按照和上面一样的步骤去编译会出先错误,修改如下:
新版本 这个函数多个一个参数flag matrixSslNewServerSession
所以修改matrixSSLSocket.c文件中调用这个函数的地方,暂时传0把
代码在53行(修改后如下):
if (matrixSslNewServerSession(&cp->ssl, keys, certValidator, 0) < 0) {
sslFreeConnection(&cp);
return -1;
}
还有一个错误是报websSSL.c中matrixSslLoadRsaKeys未定义
修改如下:
修改webs-2-5\matrixssl-3-4-2-open\core\coreConfig.h
在文件第54行的地方(什么地方看你高兴啦)中添加一个宏定义:
#define MATRIX_USE_FILE_SYSTEM
这样就可以了,在Firefox上测试可以通过,不知道为什么在IE8上却登入不了4433的网页,不知道是不是和那个flag有关待以后研究代码在说。