Skip to main content

代码空间中的转发端口

您可以转发代码空间中的端口以测试和调试应用程序。 还可以管理端口协议,并在组织内或公开共享端口。

注意:在 JetBrains IDE 中使用 GitHub Codespaces 目前为公开 beta 版本,可能会随时发生更改。

关于转发的端口

通过端口转发,您可以访问在代码空间内运行的 TCP 端口。 例如,如果要在代码空间中的特定端口上运行 Web 应用程序,则可以转发该端口。 这允许您从本地计算机上的浏览器访问应用程序以进行测试和调试。

在 codespace 内运行的应用程序将输出显示到包含本地主机 URL 的终端(例如 http://localhost:PORThttp://127.0.0.1:PORT)时,端口将自动转发。 如果你在浏览器或 Visual Studio Code 中使用 GitHub Codespaces,则终端中的 URL 字符串将转换为一个链接,你可以单击该链接在本地计算机上查看网页。 默认情况下,GitHub Codespaces 使用 HTTP 转发端口。

自动端口转发

您还可以手动转发端口、标记转发的端口、与组织成员共享转发的端口、公开共享转发的端口以及将转发的端口添加到代码空间配置中。

注意:组织所有者可以限制公开或在组织内提供转发端口的能力。 有关详细信息,请参阅“限制转发端口的可见性”。

转发端口

您可以手动转发未自动转发的端口。 1. 在 codespace 中打开终端。

  1. 单击“端口”选项卡。

    “端口”选项卡的屏幕截图

  2. 在端口列表下,单击“添加端口”。

    “添加端口”按钮的屏幕截图

  3. 键入端口编号或地址,然后按 Enter。

    显示输入端口号的屏幕截图

使用 HTTPS 转发

默认情况下,GitHub Codespaces 使用 HTTP 转发端口,但你可以根据需要更新任何端口以使用 HTTPS。 如果将具有公共可见性的端口更新为使用 HTTPS,则该端口的可见性将自动更改为专用。

  1. 在 codespace 中打开终端。

  2. 单击“端口”选项卡。

    “端口”选项卡的屏幕截图

  3. 右键单击要更新的端口,然后将鼠标悬停在“更改端口协议”上。

    用于更改端口协议的选项的屏幕截图

  4. 选择此端口所需的协议。 您选择的协议将在代码空间的有效期内被记住用于此端口。

共享端口

注意:如果你的组织使用 GitHub Team 或 GitHub Enterprise Cloud,则只能将端口专用于组织。

如果要与其他人共享转发的端口,则可以将该端口专用于您的组织,也可以将该端口设为公共端口。 将端口设为组织专用后,组织中具有该端口 URL 的任何人都可以查看正在运行的应用程序。 将端口设为公共端口后,知道 URL 和端口号的任何人都可以查看正在运行的应用程序,而无需进行身份验证。

注意:你选择的端口可见性选项可能会受到为组织配置的策略的限制。 有关详细信息,请参阅“限制转发端口的可见性”。

  1. 在 codespace 中打开终端。

  2. 单击“端口”选项卡。

    “端口”选项卡的屏幕截图

  3. 右键单击要共享的端口,单击“端口可见性”,然后单击“专用于组织”或“公共” 。

    右键菜单中“端口可见性”选项的屏幕截图

  4. 在端口的本地地址右侧,单击复制图标。

    端口 URL 的复制图标的屏幕截图

  5. 将复制的 URL 发送给您想要与其共享端口的人。

使用命令行工具和 REST 客户端访问端口

转发端口时,应用程序可通过 URL 访问,例如 https://USERNAME-CODESPACE-NAME-vrpqrxxrx7x2rxx-4000.preview.app.github.dev。 如果从 VS Code 桌面应用程序转发专用端口,则应用程序也可通过 localhost 端口(如 127.0.0.1:4000)访问。

若要使用 REST 客户端(如 Postman)或命令行工具(如 curl)访问应用程序,如果使用的是 localhost 端口,或者访问远程域中的公共端口,则无需进行身份验证。 但是,若要连接到远程域中的专用端口,必须使用请求中的 GITHUB_TOKEN 访问令牌进行身份验证。

注意:GITHUB_TOKEN 会在你启动 codespace 时自动创建,并在 codespace 会话期间保持不变。 如果停止并重启 codespace,将生成新的 GITHUB_TOKEN

### 查找要连接到的地址
  1. 在 codespace 中打开终端。

  2. 单击“端口”选项卡。随即会列出已转发的所有端口。

  3. 右键单击要连接到的端口,然后单击“复制本地地址”。

    屏幕截图显示右键菜单中的“复制本地地址”

  4. 将复制的地址粘贴到某个位置供以后使用。

查找 GITHUB_TOKEN

  1. 在 codespace 的终端中输入 echo $GITHUB_TOKEN

    令牌为以 ghu_ 开头的字符串。

  2. 复制令牌。

    请勿与任何人共享此访问令牌。 ### 使用 curl 访问转发的端口

在本地计算机的终端中输入:

curl ADDRESS -H "X-Github-Token: TOKEN"

ADDRESSTOKEN 替换为之前复制的值。

使用 Postman 访问转发的端口

  1. 打开 Postman。

  2. 创建新的 GET 请求。

  3. 粘贴之前复制的地址作为请求 URL。

    粘贴到 Postman 中的 URL 的屏幕截图

  4. 在“标头”选项卡中,创建一个新项,其中密钥为“X-Github-Token”,值是之前复制的 GITHUB_TOKEN

    Postman 中密钥和令牌的屏幕截图

  5. 单击“发送”。 ## 标记端口

在浏览器或 VS Code 桌面应用程序中打开 codespace 时,可以标记转发的端口,以便在列表中更容易地识别它。

  1. 在 codespace 中打开终端。

  2. 单击“端口”选项卡。

    “端口”选项卡的屏幕截图

  3. 悬停在要标记的端口上,然后单击标签图标。 端口的标签图标 1. 键入端口的标签,然后按 enter。 输入端口标签的文本框 ## 将端口添加到代码空间配置

你可以将转发的端口添加到存储库的 GitHub Codespaces 配置中,因此该端口将自动为从存储库创建的所有 codespace 转发。 更新配置后,必须重建任何以前创建的代码空间以应用更改。 有关详细信息,请参阅“开发容器简介”。

可以使用 forwardPorts 属性在 .devcontainer.json 文件中手动配置转发端口,也可以在浏览器中已打开的 codespace 或 VS Code 桌面应用程序中使用“端口”面板。

  1. 在 codespace 中打开终端。

  2. 单击“端口”选项卡。

    “端口”选项卡的屏幕截图

  3. 右键单击要添加到 codespace 配置的端口,然后单击“设置标签并更新 devcontainer.json”。 右键菜单中设置标签并将端口添加到 devcontainer.json 的选项 1. 键入端口的标签,然后按 enter。 输入端口标签的文本框

在 codespace 内运行的应用程序将输出显示到包含本地主机 URL 的终端(例如 http://localhost:PORThttp://127.0.0.1:PORT)时,端口将自动转发。 如果你在浏览器或 Visual Studio Code 中使用 GitHub Codespaces,则终端中的 URL 字符串将转换为一个链接,你可以单击该链接在本地计算机上查看网页。 默认情况下,GitHub Codespaces 使用 HTTP 转发端口。

自动端口转发

您还可以手动转发端口、标记转发的端口、与组织成员共享转发的端口、公开共享转发的端口以及将转发的端口添加到代码空间配置中。

注意:组织所有者可以限制公开或在组织内提供转发端口的能力。 有关详细信息,请参阅“限制转发端口的可见性”。

转发端口

您可以手动转发未自动转发的端口。 1. 在 codespace 中打开终端。

  1. 单击“端口”选项卡。

    “端口”选项卡的屏幕截图

  2. 在端口列表下,单击“添加端口”。

    “添加端口”按钮的屏幕截图

  3. 键入端口编号或地址,然后按 Enter。

    显示输入端口号的屏幕截图

共享端口

注意:如果你的组织使用 GitHub Team 或 GitHub Enterprise Cloud,则只能将端口专用于组织。

如果要与其他人共享转发的端口,则可以将该端口专用于您的组织,也可以将该端口设为公共端口。 将端口设为组织专用后,组织中具有该端口 URL 的任何人都可以查看正在运行的应用程序。 将端口设为公共端口后,知道 URL 和端口号的任何人都可以查看正在运行的应用程序,而无需进行身份验证。

注意:你选择的端口可见性选项可能会受到为组织配置的策略的限制。 有关详细信息,请参阅“限制转发端口的可见性”。

1. 在 codespace 中打开终端。 1. 单击“端口”选项卡。

“端口”选项卡的屏幕截图

  1. 右键单击要共享的端口,单击“端口可见性”,然后单击“专用于组织”或“公共” 。

    右键菜单中用于公开端口的选项的屏幕截图

  2. 在端口的本地地址右侧,单击复制图标。

    端口 URL 的复制图标的屏幕截图

  3. 将复制的 URL 发送给您想要与其共享端口的人。

使用命令行工具和 REST 客户端访问端口

转发端口时,应用程序可通过 URL 访问,例如 https://USERNAME-CODESPACE-NAME-vrpqrxxrx7x2rxx-4000.preview.app.github.dev。 如果从 VS Code 桌面应用程序转发专用端口,则应用程序也可通过 localhost 端口(如 127.0.0.1:4000)访问。

若要使用 REST 客户端(如 Postman)或命令行工具(如 curl)访问应用程序,如果使用的是 localhost 端口,或者访问远程域中的公共端口,则无需进行身份验证。 但是,若要连接到远程域中的专用端口,必须使用请求中的 GITHUB_TOKEN 访问令牌进行身份验证。

注意:GITHUB_TOKEN 会在你启动 codespace 时自动创建,并在 codespace 会话期间保持不变。 如果停止并重启 codespace,将生成新的 GITHUB_TOKEN

### 查找要连接到的地址
  1. 在 codespace 中打开终端。

  2. 单击“端口”选项卡。随即会列出已转发的所有端口。

  3. 右键单击要连接到的端口,然后单击“复制本地地址”。

    屏幕截图显示右键菜单中的“复制本地地址”

  4. 将复制的地址粘贴到某个位置供以后使用。

查找 GITHUB_TOKEN

  1. 在 codespace 的终端中输入 echo $GITHUB_TOKEN

    令牌为以 ghu_ 开头的字符串。

  2. 复制令牌。

    请勿与任何人共享此访问令牌。 ### 使用 curl 访问转发的端口

在本地计算机的终端中输入:

curl ADDRESS -H "X-Github-Token: TOKEN"

ADDRESSTOKEN 替换为之前复制的值。

使用 Postman 访问转发的端口

  1. 打开 Postman。

  2. 创建新的 GET 请求。

  3. 粘贴之前复制的地址作为请求 URL。

    粘贴到 Postman 中的 URL 的屏幕截图

  4. 在“标头”选项卡中,创建一个新项,其中密钥为“X-Github-Token”,值是之前复制的 GITHUB_TOKEN

    Postman 中密钥和令牌的屏幕截图

  5. 单击“发送”。 ## 标记端口

在浏览器或 VS Code 桌面应用程序中打开 codespace 时,可以标记转发的端口,以便在列表中更容易地识别它。

  1. 在 codespace 中打开终端。

  2. 单击“端口”选项卡。

    “端口”选项卡的屏幕截图

  3. 悬停在要标记的端口上,然后单击标签图标。 端口的标签图标 1. 键入端口的标签,然后按 enter。 输入端口标签的文本框 ## 将端口添加到代码空间配置

你可以将转发的端口添加到存储库的 GitHub Codespaces 配置中,因此该端口将自动为从存储库创建的所有 codespace 转发。 更新配置后,必须重建任何以前创建的代码空间以应用更改。 有关详细信息,请参阅“开发容器简介”。

可以使用 forwardPorts 属性在 .devcontainer.json 文件中手动配置转发端口,也可以在浏览器中已打开的 codespace 或 VS Code 桌面应用程序中使用“端口”面板。

  1. 在 codespace 中打开终端。

  2. 单击“端口”选项卡。

    “端口”选项卡的屏幕截图

  3. 右键单击要添加到 codespace 配置的端口,然后单击“设置标签并更新 devcontainer.json”。 右键菜单中设置标签并将端口添加到 devcontainer.json 的选项 1. 键入端口的标签,然后按 enter。 输入端口标签的文本框

若要详细了解 GitHub CLI,请参阅“关于 GitHub CLI”。

若要转发端口,请使用 gh codespace ports forward 子命令。 将 codespace-port:local-port 替换为要连接的远程端口和本地端口。 输入命令后,从显示的代码空间列表中进行选择。

gh codespace ports forward CODESPACE-PORT:LOCAL-PORT

有关此命令的详细信息,请参阅 GitHub CLI 手册

若要查看转发端口的详细信息,请输入 gh codespace ports 并选择 codespace。

共享端口

注意:如果你的组织使用 GitHub Team 或 GitHub Enterprise Cloud,则只能将端口专用于组织。

如果要与其他人共享转发的端口,则可以将该端口专用于您的组织,也可以将该端口设为公共端口。 将端口设为组织专用后,组织中具有该端口 URL 的任何人都可以查看正在运行的应用程序。 将端口设为公共端口后,知道 URL 和端口号的任何人都可以查看正在运行的应用程序,而无需进行身份验证。

注意:你选择的端口可见性选项可能会受到为组织配置的策略的限制。 有关详细信息,请参阅“限制转发端口的可见性”。

若要更改转发端口的可见性,请使用 gh codespace ports visibility 子命令。 有三种可见性设置:

  • private - 仅对你可见。 这是转发端口时的默认设置。
  • org - 对拥有存储库的组织成员可见。
  • public - 对知道 URL 和端口号的任何人可见。

codespace-port 替换为转发的端口号。 将 setting 替换为 privateorgpublic。 输入命令后,从显示的代码空间列表中进行选择。

gh codespace ports visibility CODESPACE-PORT:SETTINGS

您可以使用一个命令设置多个端口的可见性。 例如:

gh codespace ports visibility 80:private 3000:public 3306:org

有关此命令的详细信息,请参阅 GitHub CLI 手册

使用命令行工具和 REST 客户端访问端口

转发端口时,应用程序可通过 URL 访问,例如 https://USERNAME-CODESPACE-NAME-vrpqrxxrx7x2rxx-4000.preview.app.github.dev。 如果从 VS Code 桌面应用程序转发专用端口,则应用程序也可通过 localhost 端口(如 127.0.0.1:4000)访问。

若要使用 REST 客户端(如 Postman)或命令行工具(如 curl)访问应用程序,如果使用的是 localhost 端口,或者访问远程域中的公共端口,则无需进行身份验证。 但是,若要连接到远程域中的专用端口,必须使用请求中的 GITHUB_TOKEN 访问令牌进行身份验证。

注意:GITHUB_TOKEN 会在你启动 codespace 时自动创建,并在 codespace 会话期间保持不变。 如果停止并重启 codespace,将生成新的 GITHUB_TOKEN

查找要连接到的地址

若要查找转发端口的地址,请输入 gh codespace ports。 如果有多个 codespace,请从显示的列表中选择相应的 codespace。

复制地址并将其粘贴到某个位置供以后使用。

查找 GITHUB_TOKEN

  1. 为 codespace 启动 SSH 会话。

    gh codespace ssh
    
  2. 如果有多个 codespace,请从显示的列表中选择相应的 codespace。

  3. 显示 GITHUB_TOKEN

    echo $GITHUB_TOKEN
    

    令牌为以 ghu_ 开头的字符串。

  4. 复制令牌。

    请勿与任何人共享此访问令牌。

  5. 退出 SSH 会话。

    exit
    

使用 curl 访问转发的端口

在本地计算机的终端中输入:

curl ADDRESS -H "X-Github-Token: TOKEN"

ADDRESSTOKEN 替换为之前复制的值。

使用 Postman 访问转发的端口

  1. 打开 Postman。

  2. 创建新的 GET 请求。

  3. 粘贴之前复制的地址作为请求 URL。

    粘贴到 Postman 中的 URL 的屏幕截图

  4. 在“标头”选项卡中,创建一个新项,其中密钥为“X-Github-Token”,值是之前复制的 GITHUB_TOKEN

    Postman 中密钥和令牌的屏幕截图

  5. 单击“发送”。 ## 标记端口

在浏览器或 VS Code 桌面应用程序中打开 codespace 时,可以标记转发的端口,以便在列表中更容易地识别它。

  1. 在 codespace 中打开终端。

  2. 单击“端口”选项卡。

    “端口”选项卡的屏幕截图

  3. 悬停在要标记的端口上,然后单击标签图标。 端口的标签图标 1. 键入端口的标签,然后按 enter。 输入端口标签的文本框

列出 codespace 的转发端口时,可以看到端口标签。 为此,请使用 gh codespace ports 命令,然后选择 codespace。

将端口添加到代码空间配置

你可以将转发的端口添加到存储库的 GitHub Codespaces 配置中,因此该端口将自动为从存储库创建的所有 codespace 转发。 更新配置后,必须重建任何以前创建的代码空间以应用更改。 有关详细信息,请参阅“开发容器简介”。

可以使用 forwardPorts 属性在 .devcontainer.json 文件中手动配置转发端口,也可以在浏览器中已打开的 codespace 或 VS Code 桌面应用程序中使用“端口”面板。

  1. 在 codespace 中打开终端。

  2. 单击“端口”选项卡。

    “端口”选项卡的屏幕截图

  3. 右键单击要添加到 codespace 配置的端口,然后单击“设置标签并更新 devcontainer.json”。 右键菜单中设置标签并将端口添加到 devcontainer.json 的选项 1. 键入端口的标签,然后按 enter。 输入端口标签的文本框

转发端口

若要了解如何将 codespace 中的端口转发到本地计算机上的端口的信息,请参阅 JetBrains 文档中“安全模型”一文的“端口转发”部分。

或者,可以使用 GitHub CLI 转发端口。 有关详细信息,请单击此页面顶部附近的“GitHub CLI”选项卡。