Skip to main content

连接到专用网络

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

关于代码空间网络

默认情况下,您的代码空间有权访问公共 Internet 上的所有资源,包括包管理器、许可证服务器、数据库和云平台 API,但它们无权访问专用网络上的资源。

连接到专用网络上的资源

目前,在 GitHub Codespaces 内访问专用网络上的资源有两种方法。

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

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

注意:GitHub CLI 扩展目前为 beta 版本,可能会有变动。

可以使用 GitHub CLI 扩展在 codespace 和本地计算机之间创建网桥,以便 codespace 可以访问可从计算机访问的任何远程资源。 codespace 使用本地计算机作为网络网关访问这些资源。 有关详细信息,请参阅“使用 GitHub CLI 访问远程资源”。

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

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

建议使用 OpenVPN 等 VPN工具访问专用网络上的资源。 有关详细信息,请参阅“从 GitHub Codespaces 使用 OpenVPN 客户端”。

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

这些第三方解决方案包括:

将代码空间的私有资源列入允许列表

虽然 GitHub 在其 Meta API 上发布多个产品的 IP 范围,但 codespace 的 IP 地址是动态分配的,这意味着 codespace 不能保证每天具有相同的 IP 地址。 有关详细信息,请参阅“元数据的 REST API 终结点”。

如果允许列出整个 IP 范围,则会使用户能够过于宽泛地访问所有 codespace(包括与 codespace 无关的用户),因此,如果启用 IP 允许列表,则禁用 codespace 创建。 有关详细信息,请参阅“管理组织允许的 IP 地址”。

限制对公共互联网的访问

目前,没有办法限制代码空间访问公共互联网,或者限制经过适当身份验证的用户访问转发端口。

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