首页 > 解决方案 > 如何防止 Firebase 实时数据库阻止 VPN 连接?

问题描述

当我突然意识到我的 Firebase 实时数据库调用挂起时,我正在测试我的 Unity 游戏;经过一番调试,我注意到当我禁用我的Mullvad VPN 时它可以完美运行,而当我的 VPN 处于活动状态时它总是失败。

有什么方法可以配置实时数据库以接受来自 VPN 的连接?或者,我可以在代码中做些什么不同的事情?

DatabaseReference fbref = FirebaseDatabase.GetInstance("https://foo.firebaseio.com/").RootReference.Child("path");
fbref.GetValueAsync().ContinueWithOnMainThread(task =>
    Debug.LogError("Success!"); // Never reaches when VPN is active
)};
// No exceptions thrown

编辑:经过一段时间的调试,我发现在我的 VPN 中启用 IPv6 可以在本地解决问题 - 但如果它发生在生产中的用户身上,我仍然不知所措。

标签: c#firebaseunity3dvpn

解决方案


火力基地在这里

Firebase 后端不太可能阻塞此处的流量。更像是您的 VPN 提供商不允许从您的客户端到 Firebase 服务器的流量,例如因为它们不允许 Web Socket 流量(这是 Firebase 所依赖的)。您可能需要与提供商联系,或查看他们的文档以了解允许哪些流量,哪些不允许。


推荐阅读