OpenVPN 在安全连接上运行时无法按预期运行

OpenVPN 在安全连接上运行时无法按预期运行

我有一个 OpenVPN 服务器,托管在 Azure VM 上。

我在 Cloudflare 上创建了原始证书,并已成功将密钥和证书导入 OpenVPN。原产地 CA也复制到了虚拟机中。在 Web 服务器配置中,一切似乎都很好:

在此处输入图片描述

当我关闭 Cloudflare 上的橙色开关时(代理- 意味着现在所有流量都将安全地通过 CF),发行者验证成功,浏览器上的 pad 显示为绿色。但是,我遇到了许多奇怪的重定向,最终损坏了服务器(VPN 功能和 HTML 渲染):

在此处输入图片描述

如果我关掉橙色开关,网站按预期呈现,VPN 按预期运行,但是,发行者变得未知(尽管流量仍然加密):

在此处输入图片描述

我究竟做错了什么?

答案1

当我转身离开Cloudflare 上的橙色开关(代理 - 意味着现在所有流量都将安全地通过 CF)

这应该离开因为如果您想通过 Cloudflare 代理您的连接,您应该打开开关?

我可以修复受信任的连接。但是一旦我这样做,VPN 功能和 HTML 渲染就会中断(请参阅我的问题中的详细信息)。

因此,答案的这一部分,应该离开你的问题的一部分是? Cloudflare 代理 DNS 条目应该有橙色开关 已启用代替已禁用


当我转身Cloudflare 上的橙色开关(代理 - 意味着现在所有流量都将安全地通过 CF),发行者已成功验证,浏览器上的 pad 显示为绿色。但是,我遇到了许多奇怪的重定向,最终损坏了服务器(VPN 功能和 HTML 渲染)

如果我关闭橙色开关,网站将按预期呈现,VPN 也将按预期运行,但是发行者将变得未知(尽管流量仍处于加密状态)

您应该记住的一件事是 Cloudflare 不支持转发 OpenVPN 协议,仅支持 HTTP 和 HTTPS。

当你转身时Cloudflare 的代理功能,您的域名将指向 Cloudflare 服务器而不是您的服务器,这样与域名的所有连接都将由 Cloudflare 处理并转发到您的服务器;这就是为什么您的 OpenVPN 无法工作并且网站渲染失败的原因。

当你转身时离开Cloudflare 的代理功能,您的域名将指向您的服务器,以便所有到域名的连接都由您的服务器处理;因此您的 OpenVPN 将正常工作,您的网站将正常呈现;但由于您使用的是 Cloudflare 的 Origin 证书(由 Cloudflare Origin CA 签名,而任何用户代理都不信任该证书),您的用户代理将警告您有关不受信任的证书。


如果我理解正确的话,那么我必须绕过 Cloudflare 代理?

答案很简单,是的,你应该绕过 Cloudflare,使用其他替代方案来执行 SSL/TLS,例如使用让我们加密(通过其客户端实现)或从其他 SSL/TLS 证书供应商处获取。

更难的答案是,这取决于:SRV 发现支持内置于 OpenVPN 2,但我不知道它是否在其他 OpenVPN 客户端上实现。如果您只使用 OpenVPN v2 客户端,那么这是您的替代方案。

有一个修补为了SRV 发现支持但尚未合并到 OpenVPN 源。

相关内容