直到最近我才使用lighttpd + openvpn + sslh,在端口443上同时提供HTTPS和OpenVPN。但sslh在将远程IP地址传递给HTTP服务器方面存在一些重大问题,而且它与Gitlab不兼容。所以我转到了nginx,现在我正在尝试像以前一样使用OpenVPN实现相同的功能。
如何配置nginx以处理嵌入HTTPS连接并将未知连接转发到OpenVPN?
我知道OpenVPN可以通过HTTPS实现这一点,但它不能解决将远程IP地址传递给Web服务器的问题(正确的远程IP地址对于Web服务器比对OpenVPN更重要)。
其他方式可能就像Websockets一样,让OpenVPN使用HTTP升级或类似技术,但我在OpenVPN文档中没有发现任何相关内容。
答案 0 :(得分:2)
Nginx无法查看SSL连接以确定用于进一步将连接转发到http / https上游或VPN的协议。
它现在可以处理任意TCP流(并在不查看有效负载的情况下对连接进行负载平衡),但除非您有多个端口或多个IP地址,否则您必须继续依赖你的sslh
。