【问题标题】:HTTPS and OpenVPN on port 443 together [closed]端口 443 上的 HTTPS 和 OpenVPN [关闭]
【发布时间】:2016-05-02 21:12:10
【问题描述】:

直到最近我还在使用 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 文档中没有找到任何相关内容。

【问题讨论】:

    标签: nginx https openvpn


    【解决方案1】:

    Nginx 无法查看 SSL 连接以确定用于进一步将连接转发到 http/https 上游或 VPN 的协议。

    它现在可以处理任意 TCP 流(并在不查看负载的情况下对连接进行负载平衡),但除非您拥有多个端口或多个 IP 地址,否则您将不得不继续依赖您的 @ 987654321@.

    【讨论】:

    • 是的,这就是我的想法,但必须有另一种方法。
    • 你想要做的不是在企业环境中完成(在试图绕过公司防火墙的人之外),所以,不,Nginx 的设计不是为了做这些事情; nginx 主要专注于高效处理大型网站和大型项目;不是在单个 ip/port 上执行 https 和 openvpn。此外,为了让 http 升级之类的东西正常工作,您必须有客户端支持,为什么现成的浏览器会突然为您的网站发送升级标头?最好的出路可能是弄清楚 sslh
    猜你喜欢
    • 1970-01-01
    • 2014-05-24
    • 1970-01-01
    • 2013-02-25
    • 1970-01-01
    • 2019-02-02
    • 1970-01-01
    • 1970-01-01
    • 2020-07-11
    相关资源
    最近更新 更多