我正在使用 RHEL 5.6,并尝试使用来自 haproxy 的“xforwardfor”补丁安装 stunnel,以获得类似于此(旧)帖子的设置:http://www.buro9.com/blog/2009/12/07/installing-haproxy-load-balance-http-and-https/
当我运行 ./configure 时出现以下错误:
*snip*
configure: **************************************** SSL
checking for SSL directory... Not found
Couldn't find your SSL library installation dir
Use --with-ssl option to fix this problem
来自stunnel 文档我需要传递一个包含 ssl 库(假设为 libssl.so?)以及“certs”目录的目录。
我尝试创建一个带有“certs”目录和符号链接的 /etc/openssl 目录,/lib64/libssl.so.6
但没有成功。
我还需要哪些其他库?
更新
来自 config.log:
它是由 stunnel configure 4.32 创建的,而后者是由 GNU Autoconf 2.61 生成的。调用命令行是
$ ./configure --with-ssl=/lib64
## --------- ##
## Platform. ##
## --------- ##
uname -m = x86_64
uname -r = 2.6.18-238.12.1.el5
uname -s = Linux
* snip *
configure:23977: **************************************** SSL
configure:23996: checking for SSL directory
configure:24019: result: Not found
并运行ls /lib64 | grep ssl
:
$ ls -l /lib64 | grep ssl
-rwxr-xr-x 1 root root 315032 Dec 7 2010 libssl.so.0.9.8e
lrwxrwxrwx 1 root root 16 Jul 13 18:48 libssl.so.6 -> libssl.so.0.9.8e
答案1
我猜你还没有openssl-devel
安装。
configure
以下是我在 RHEL5.6 服务器上得到的stunnel-4.42输出:
**************************************** SSL
checking for SSL directory... /usr/
checking for obsolete RSAref library... no
checking /usr//include/openssl/engine.h usability... yes
checking /usr//include/openssl/engine.h presence... yes
checking for /usr//include/openssl/engine.h... yes
check_ssl_dir
中的函数configure
正在寻找 的/usr/include/openssl/ssl.h
一部分openssl-devel
。
不要传递任何选项来配置,执行任何目录创建,或建立任何符号链接。
答案2
证书位于/etc/openssl和 64 位软件库/lib64。您不应该混淆它们。假设您在 64 位平台上并且库存在于 /lib64 中,请尝试以下操作:
./configure --with-ssl=/lib64
...如果它不起作用,请发布“config.log”文件的相关部分以进一步帮助您。
答案3
在 Debian 上,您必须安装libssl-dev
才能构建 stunnel。