我尝试通过 HTTPS 使用 OpenVPN 的 HTTP 代理功能,但无法正常工作。如果我使用 HTTP(纯文本),它可以正常工作,但出于安全原因,我更喜欢通过 HTTPS 使用它。
OpenVPN 支持此功能吗?我找不到有关 OpenVPN 是否支持此功能的信息。
我正在使用 apache 作为正向代理。
这是工作设置:
openvpn2 --config config.ovpn --http-proxy proxy.example.com 80 basic --verb 6
同样的事情发生在通过 SSL 的 443 端口上,但不起作用:
openvpn2 --config config.ovpn --http-proxy proxy.example.com 80 basic --verb 6
并出现以下错误:
2022-01-17 19:38:59.302564 [LOG] TCP recv EOF
2022-01-17 19:38:59.302754 [LOG] Proxy Error: on proxy.example.com:443: HTTP proxy unexpected EOF: reply incomplete
2022-01-17 19:38:59.303023 [LOG] Proxy connection error:on proxy.example.com:443: HTTP proxy unexpected EOF: reply incomplete
我已经验证 HTTPS/SSL 代理可以正常工作,如下所示:
- 启动 netcat 监听 1194 端口
nc -l 1194
- 通过代理连接到监听的 netcat:
openssl s_client -crlf -connect proxy.example.com:443
....
<SSL DATA>
....
---
read R BLOCK
CONNECT <netcat_ip>:1194 HTTP/1.0
Proxy-Authorization: Basic BASE64_ENCODED_BASIC_AUTH==
HTTP/1.0 200 Connection Established
Proxy-agent: Apache/2.4.41
hello
并且我在 netcat 中正确地获得了“hello”文本。
SSL 证书没有问题,并且是由知名 CA 颁发的。
如果有人能提供任何帮助/信息,我会非常高兴。
谢谢!