socat - 如何侦听非 ssl TCP 并转发到 ssl TCP 端点?

Chr*_*now 7 ssl tcp socat

我看过一个使用 socat 接受 ssl TCP 流量并将流量转发到非 ssl 主机的例子:

socat TCP-LISTEN:443,reuseaddr,fork "^OPENSSL-SERVER,cert=server.pem | TCP:somehost:80"
Run Code Online (Sandbox Code Playgroud)

有可能做相反的事情吗?即我有一个启用了 ssl 的远程主机并且需要一个客户端证书,但我的客户端只能通过非 ssl 连接进行连接。

我了解这种方法的安全含义。

Chr*_*now 6

我的答案是:

$ socat TCP-LISTEN:51000,fork,reuseaddr OPENSSL:remotehost:51000,cafile=certificate.pem,verify=0
Run Code Online (Sandbox Code Playgroud)

证书与主机名不匹配,所以我不得不关闭验证 (verify=0)