我需要访问在具有 DPI 防火墙的网络之外运行的自己的 RDP。因此 SSL 是唯一的选择,但我有一个正在运行的 SSL Web 服务器。由于我也只有一个具有动态 IP 的 IP 地址,因此我希望使用 Stunnel 实现以下目标:
[client-side] rdp --> stunnel-client --------->rdp/ssl https://abc.com ----> [stunnel server] --> rdp ~ Win Client 192.168.1.123:321
+ user-certificate???
[client-side] web browser --------------------->https/ssl https://abc.com --> [stunnel server] --> http ~ www server 192.168.1.555:80
解释:在本地机器上,我将 rdp 指向 stunnel,它将显示单个用户证书,并且服务器端将知道将流量发送到端口 321 上的服务器 192.168.1.123。但如果 Web 浏览器打开 abc.com,服务器端将显示 http(s) 网站,因为不存在单个用户证书。因此,快速检查只会显示官方 https 网站。
有人能告诉我如何实现这一点吗?sslh 运行完美,但不会阻止 DPI 检测,因为 rdp 只会使用 443。现在我正在检查 stunnel。它可以识别 SNI,但也不会有帮助(例如 rdp.abc.com 与 abc.com)似乎我只能使用一种服务(https 或其他服务)。
另一方面,如果证书不被接受(通过使用 verify=3 + user-certificate),它具有选项 redirect = [HOST:]PORT,将所有流量发送到 http web 服务器
就我的情况而言(尤其是使用 rdp),这是否可行,还有其他选项可以实现 443 ssl 协议共享(混淆)。