我需要一个反向代理,通过坐在一个 IP/端口上来支持 Lablz Web 服务器和 SSL VPN Adito(SSL Explorer 分支)。使用 Nginx 无法实现这一点。未能将 Adito 用作通用反向 HTTP 代理。
如果 HAProxy 无法感知 HTTP 流量,它是否可以回退为 TCP 代理?换句话说,如果它的第 7 层检查确定这不是 HTTP 流量,它是否可以退回到第 4 层?
这是我的设置
- 具有一个公共 IP(弹性 IP)的 EC2 机器。
- 只有一个端口是开放的——443。
- Stunnel 位于 443 并将流量传递给 HAProxy(我不喜欢使用 Stunnel,但 HAProxy 还没有完全支持 SSL,这与 Nginx 不同)。
- HAProxy 必须配置为将一些 HTTP 流量传递到一台服务器(位于 SVN 服务器前面的 Apache 服务器),并将其余 HTTP 流量传递到我们的 Lablz Web/App 服务器。
- 所有非 HTTP 流量都必须转发到 Adito VPN。
- 这个流量是:
- VNC、NX、SMB
- ...以及 Adito 支持的所有其他协议
- 这个流量是:
我不能依赖源 IP 地址或端口将流量拆分为 HTTP 和非 HTTP。
那么,这样的配置可以在 HAProxy 中完成吗?可以为此使用任何其他反向代理吗?如果我对 HAProxy 的想法不正确,请告诉我,并且可以使用替代方法。
顺便说一句,Adito SSL VPN 很棒,如果此设置有效,我们将能够为 Lablz 开发人员提供出色的一键式单点登录安全 VNC-over-HTTPS 访问他们在云中的盒子。
没有解决方案,但通过 Adito - 请证明我错了。但请不要说 VNC over SSH 更好。是的,VNC-over-SSH 更快、更安全,但也更难(对于我们的目标用户群)设置并假定用户位于允许端口 22 上的出站流量的防火墙后面(并非总是如此)。
此外,Adito 不仅仅是远程访问网关——它是一个成熟的浏览器内 VPN、一个软件分发平台等等。我与 Adito 的人没有联系 - 请参阅我们 Lablz 博客上的 Adito 帖子。