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

socat - how to listen on non-ssl TCP and forward to ssl TCP endpoint?

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

socat TCP-LISTEN:443,reuseaddr,fork "^OPENSSL-SERVER,cert=server.pem | TCP:somehost:80"

是否可以反其道而行之? IE。我有一台启用了 ssl 并需要客户端证书的远程主机,但我的客户端只能通过非 ssl 连接进行连接。

我理解这种方法的安全隐患。

我的答案是:

$ socat TCP-LISTEN:51000,fork,reuseaddr OPENSSL:remotehost:51000,cafile=certificate.pem,verify=0

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