我按照以下答案中指定的方式生成了 SSL 证书stunnel:SSL 到 SSL?(用于 smtp/imap) 并有以下配置文件:
cert = /home/marshall/stunnels/certs/umistunnel.keys
; protocol version (all, SSLv2, SSLv3, TLSv1)
sslVersion = SSLv3
pid = ./stunnel4.pid
[https]
accept = 4433
connect = 3000
当我跑步时
> stunnel config.conf
我收到的错误是:
Reading configuration from descriptor 3
Snagged 64 random bytes from /home/marshall/.rnd
Wrote 1024 new random bytes to /home/marshall/.rnd
PRNG seeded successfully
Line 1: End of section stunnel: SSL server needs a certificate
如果我改为运行:
> stunnel filethatdoesnotexist.asdf
我得到了相同的结果。而且,如果我不带任何参数运行 stunnel,唯一的变化是错误显示第 0 行。我在这里做错了什么?
答案1
您的系统上可能同时安装了 stunnel3 和 stunnel4。
“stunnel” 的默认设置是将其软链接到 stunnel3:
root@sibelius:/usr/bin# ls -l stunnel*
lrwxrwxrwx 1 root root 8 Oct 18 2011 stunnel -> stunnel3
-rwxr-xr-x 1 root root 2797 Oct 18 2011 stunnel3
-rwxr-xr-x 1 root root 109904 Oct 18 2011 stunnel4
stunnel3 的 stunnel.conf 语法与 stunnel4 的语法不兼容。
因此出现错误。尝试删除 stunnel3。
答案2
找到我的问题了……它并没有真正记录下来(至少在我的 Ubuntu 系统上没有)。如果我运行命令
> stunnel4 config.conf
然后一切正常,并且所有输出都会显示在调试日志文件中(如果在配置文件中配置了)。
答案3
将证书行也放在 [https] 中。