跳至主要内容

连接私有网络

您可以将 GitHub Codespaces 连接到私有网络上的资源,包括包注册表、许可证服务器和本地数据库。

关于 Codespace 网络

默认情况下,您的 Codespaces 可以访问公共互联网上的所有资源,包括包管理器、许可证服务器、数据库和云平台 API,但它们无法访问私有网络上的资源。

连接到私有网络上的资源

目前有两种方法可以在 GitHub Codespaces 中访问私有网络上的资源。

  • 使用 GitHub CLI 扩展将您的本地计算机配置为远程资源的网关
  • 使用 VPN

使用 GitHub CLI 扩展访问远程资源

警告

GitHub CLI 扩展即将关闭,不再受支持。

GitHub CLI 扩展允许您在 codespace 和本地机器之间创建桥接,以便 codespace 可以访问本地机器可访问的任何远程资源。codespace 使用您的本地机器作为网络网关来访问这些资源。有关更多信息,请参阅“使用 GitHub CLI 访问远程资源”。

使用 VPN 访问私有网络后面的资源

作为 GitHub CLI 扩展的替代方案,您可以使用 VPN 从 codespace 内部访问私有网络后面的资源。

我们建议使用诸如 OpenVPN 之类的 VPN 工具来访问私有网络上的资源。有关更多信息,请参阅“从 GitHub Codespaces 使用 OpenVPN 客户端”。

还有一些第三方解决方案,虽然 GitHub 没有明确认可,但它们提供了有关如何与 GitHub Codespaces 集成的示例。

这些第三方解决方案包括

将 codespace 的私有资源列入允许列表

虽然 GitHub 在其元数据 API 上发布了多个产品的 IP 范围,但 codespace 的 IP 地址是动态分配的,这意味着您的 codespace 并非每天都保证具有相同的 IP 地址。有关更多信息,请参阅“元数据的 REST API 端点”。

将整个 IP 范围列入允许列表将为所有 codespace(包括与您的 codespace 无关的用户)提供过于广泛的访问权限,因此,如果您启用 IP 允许列表,则 codespace 创建将被禁用。有关更多信息,请参阅“管理组织的允许 IP 地址”。

限制对公共互联网的访问

目前,无法限制 codespace 访问公共互联网,也无法限制经过适当身份验证的用户访问已转发端口。

有关如何保护 codespace 的更多信息,请参阅“GitHub Codespaces 中的安全”。