带有 stunnel 的 SSL 代理

Ily*_*lya 5 proxy ssl stunnel

我正在尝试使用stunnel设置 SSL 连接。某种 SSL 代理。

最终目标
将 http only CLIENT连接到 https only SERVER

我的计划是

  1. 客户端:将端点更改为代理
  2. PROXY:使用 stunnel 接收来自 CLIENT 的请求并将它们转发到 SERVER

stunnel.conf

cert = /etc/stunnel/stunnel.pem
foreground = yes
chroot = /var/run/stunnel
setuid = stunnel
setgid = stunnel
pid = /stunnel.pid
debug = 7
[my_route]
accept = 7121
connect = SERVER:443
;connect = SERVER:443/somedata
Run Code Online (Sandbox Code Playgroud)

测试 1

$openssl s_client -connect SERVER:443
New, TLSv1/SSLv3, Server public key is 2048 bit
Run Code Online (Sandbox Code Playgroud)

测试 2

openssl s_client -connect PROXY:7121
New, TLSv1/SSLv3, Server public key is 2048 bit
Run Code Online (Sandbox Code Playgroud)

结果(通过 PROXY 从 CLIENT 连接到 SERVER)。

Service [my_route] accepted (FD=3) from 10.0.2.2:12345
Service [my_route] started
Service [my_route] accepted connection from 10.0.2.2:12345
SSL state (accept): before/accept initialization
SSL_accept: 1408F10B: error:1408F10B:SSL routines:SSL3_GET_RECORD:wrong version number
Connection reset: 0 byte(s) sent to SSL, 0 byte(s) sent to socket
Local socket (FD=3) closed
Service [my_route] finished (0 left)
Run Code Online (Sandbox Code Playgroud)

问题

  1. 为什么IP与SERVER不匹配?为什么要连接到 10.0.2.2?
    这是否意味着我连接到了错误的服务器?怎么会这样?

  2. 这个错误说明了什么?那个远程服务器使用另一个版本的 SSL,不是吗?

把友情*_*在无盐 -1

将其添加到配置文件中即可。

sslversion = all
Run Code Online (Sandbox Code Playgroud)

你可能还错过了另一件事。您应该明确设置“client = yes”,否则默认为“no”。