关于代码空间网络
默认情况下,您的代码空间可以访问公共互联网上的所有资源,包括包管理器、许可证服务器、数据库和云平台 API,但它们无法访问私有网络上的资源。
连接到私有网络上的资源
目前有两种方法可以在 GitHub 代码空间内访问私有网络上的资源。
- 使用 GitHub CLI 扩展将您的本地机器配置为远程资源的网关。
- 使用 VPN。
使用 GitHub CLI 扩展访问远程资源
警告:GitHub CLI 扩展已弃用,不再受支持。
GitHub CLI 扩展允许您在代码空间和本地机器之间创建桥梁,以便代码空间可以访问从您的机器可以访问的任何远程资源。代码空间使用您的本地机器作为网络网关来访问这些资源。有关更多信息,请参阅“使用 GitHub CLI 访问远程资源”。
使用 VPN 访问私有网络后面的资源
作为 GitHub CLI 扩展的替代方案,您可以使用 VPN 从代码空间内访问私有网络后面的资源。
我们建议使用像 OpenVPN 这样的 VPN 工具来访问私有网络上的资源。更多信息,请参见 "从 GitHub Codespaces 使用 OpenVPN 客户端"。
还有一些第三方解决方案,虽然 GitHub 没有明确认可,但它们提供了如何与 GitHub Codespaces 集成的示例。
这些第三方解决方案包括
将私有资源列入 codespaces 白名单
虽然 GitHub 在其 Meta API 上发布了多个产品的 IP 范围,但 codespaces 的 IP 地址是动态分配的,这意味着您的 codespace 无法保证每天都具有相同的 IP 地址。更多信息,请参见 "用于元数据的 REST API 端点"。
将整个 IP 范围列入白名单将为所有 codespaces 提供过于广泛的访问权限(包括与您的 codespaces 无关的用户),因此,如果您启用 IP 白名单,codespace 创建将被禁用。更多信息,请参见 "管理组织的允许 IP 地址"。
限制对公共互联网的访问
目前,无法限制 codespaces 访问公共互联网,也无法限制经过适当身份验证的用户访问转发端口。
有关如何保护 codespaces 的更多信息,请参见 "GitHub Codespaces 中的安全性"。