关于 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 中的安全”。