我有一台需要连接的使用 HTTPS 的远程计算机,以及一个不支持 HTTPS 的客户端。输入stunnel
。我按如下方式运行它,然后从另一台计算机连接到客户端:
$ stunnel -c -f -d local:4434 -D 7 -r remote:443
LOG7[569514:1]: Service name to be used: remote.443
LOG5[569514:1]: stunnel 3.8 on rs6000-ibm-aix PTHREAD
LOG7[569514:1]: remote.443 bound to localip:4434
LOG7[569514:258]: remote.443 started
LOG5[569514:258]: remote.443 connected from localclient:65065
LOG7[569514:258]: remote.443 connecting remoteip:443
LOG7[569514:258]: Remote host connected
LOG7[569514:258]: before/connect initialization
LOG7[569514:258]: before/connect initialization
LOG7[569514:258]: SSLv3 write client hello A
LOG7[569514:258]: SSLv3 read server hello A
LOG3[569514:258]: SSL_connect: error:00000000:lib(0):func(0):reason(0)
LOG7[569514:258]: remote.443 finished (0 left)
LOG3[569514:1]: Received signal 2; terminating.
根据stunnel
常见问题解答,这意味着:
该错误意味着您的客户端在协商 SSL 之前关闭了连接。这可能意味着您正在尝试使用非 SSL 客户端连接到 Stunnel 守护程序。确保您在客户端上使用 SSL。
好吧,我的客户端当然不支持 SSL,这就是我使用的原因stunnel
!有人知道我做错了什么吗?不管怎么说,远程机器是某种 Windows,stunnel
在 AIX 5.3 服务器上运行,而我stunnel
使用 Windows Vista 桌面连接到 AIX。另外,我显然还从该输出中删除了 IP 地址和域名。谢谢。
答案1
您是否看到了 stunnel FAQ 中的部分“我正在尝试使用 Stunnel 作为管道,但它似乎不起作用!” -http://www.stunnel.org/faq/troubleshooting.html哪个建议升级到 stunnel 3.16 或更新版本?
我不太愿意提出这个建议,因为 3.16 是 2001 年的,但在研究了 stunnel 示例、文档和常见问题解答之后,看起来您的命令应该可以工作。
我目前唯一的猜测是 - 它是否进行任何类型的自动配置猜测?听起来你在 AIX 机器上运行 stunnel,是吗?如果它有如下启发式方法怎么办:
if a connection is from or to the local machine, it's unencrypted
if a connection is from or to a remote machine, use SSL
然后,它将看到您从 Vista 发出的远程连接,并尝试使用 SSL 进行应答,但失败了,它还会尝试将未加密的流量输入本地 AIX SSL 服务,但同样失败了。尝试使用 Windows stunnel 客户端,或者如果可以的话,从远程 *nix 框进行测试。
但是我现在正陷入困境,今晚不愿意尝试深入研究源代码。
如果您找到答案,请在此处发布。