177 lines
7.1 KiB
Markdown
177 lines
7.1 KiB
Markdown
---
|
|
title: Forwarding ports in your codespace
|
|
shortTitle: Forward ports
|
|
intro: '{% data reusables.codespaces.about-port-forwarding %}'
|
|
versions:
|
|
fpt: '*'
|
|
ghec: '*'
|
|
redirect_from:
|
|
- /github/developing-online-with-codespaces/forwarding-ports-in-your-codespace
|
|
- /codespaces/developing-in-codespaces/forwarding-ports-in-your-codespace
|
|
type: how_to
|
|
topics:
|
|
- Codespaces
|
|
- Fundamentals
|
|
- Developer
|
|
---
|
|
|
|
## About forwarded ports
|
|
|
|
Port forwarding gives you access to TCP ports running within your codespace. For example, if you're running a web application on a particular port in your codespace, you can forward that port. This allows you to access the application from the browser on your local machine for testing and debugging.
|
|
|
|
{% webui %}
|
|
|
|
{% data reusables.codespaces.port-forwarding-intro %}
|
|
{% data reusables.codespaces.navigate-to-ports-tab %}
|
|
1. Under the list of ports, click **Add port**.
|
|
|
|

|
|
|
|
1. Type the port number or address, then press Enter.
|
|
|
|

|
|
|
|
## Using HTTPS forwarding
|
|
|
|
By default, {% data variables.product.prodname_github_codespaces %} forwards ports using HTTP but you can update any port to use HTTPS, as needed. If you update a port with public visibility to use HTTPS, the port's visibility will automatically change to private.
|
|
|
|
{% data reusables.codespaces.navigate-to-ports-tab %}
|
|
1. Right-click the port you want to update, then hover over **Change Port Protocol**.
|
|
|
|

|
|
|
|
1. Select the protocol needed for this port. The protocol that you select will be remembered for this port for the lifetime of the codespace.
|
|
|
|
{% data reusables.codespaces.port-forwarding-sharing %}
|
|
|
|
{% data reusables.codespaces.navigate-to-ports-tab %}
|
|
1. Right-click the port that you want to share, click the **Port Visibility**, then click **Private to Organization** or **Public**.
|
|
|
|

|
|
|
|
1. To the right of the local address for the port, click the copy icon.
|
|
|
|

|
|
|
|
1. Send the copied URL to the person you want to share the port with.
|
|
|
|
{% data reusables.codespaces.using-tools-to-access-ports-1 %}
|
|
{% data reusables.codespaces.find-address-and-token %}
|
|
{% data reusables.codespaces.using-tools-to-access-ports-2 %}
|
|
{% data reusables.codespaces.port-forwarding-adding %}
|
|
{% data reusables.codespaces.port-forwarding-labeling %}
|
|
|
|
{% endwebui %}
|
|
|
|
{% vscode %}
|
|
|
|
{% data reusables.codespaces.port-forwarding-intro %}
|
|
{% data reusables.codespaces.navigate-to-ports-tab %}
|
|
1. Under the list of ports, click **Add port**.
|
|
|
|

|
|
|
|
1. Type the port number or address, then press Enter.
|
|
|
|

|
|
|
|
{% data reusables.codespaces.port-forwarding-sharing %}
|
|
|
|
{% data reusables.codespaces.navigate-to-ports-tab %}
|
|
|
|
1. Right-click the port that you want to share, click **Port Visibility**, then click **Private to Organization** or **Public**.
|
|
|
|

|
|
|
|
1. To the right of the local address for the port, click the copy icon.
|
|
|
|

|
|
|
|
1. Send the copied URL to the person you want to share the port with.
|
|
|
|
{% data reusables.codespaces.using-tools-to-access-ports-1 %}
|
|
{% data reusables.codespaces.find-address-and-token %}
|
|
{% data reusables.codespaces.using-tools-to-access-ports-2 %}
|
|
{% data reusables.codespaces.port-forwarding-adding %}
|
|
{% data reusables.codespaces.port-forwarding-labeling %}
|
|
|
|
{% endvscode %}
|
|
|
|
{% cli %}
|
|
|
|
{% data reusables.cli.cli-learn-more %}
|
|
|
|
To forward a port use the `gh codespace ports forward` subcommand. Replace `codespace-port:local-port` with the remote and local ports that you want to connect. After entering the command choose from the list of codespaces that's displayed.
|
|
|
|
```shell
|
|
gh codespace ports forward CODESPACE-PORT:LOCAL-PORT
|
|
```
|
|
|
|
For more information about this command, see [the {% data variables.product.prodname_cli %} manual](https://cli.github.com/manual/gh_codespace_ports_forward).
|
|
|
|
To see details of forwarded ports enter `gh codespace ports` and then choose a codespace.
|
|
|
|
{% data reusables.codespaces.port-forwarding-sharing %}
|
|
|
|
To change the visibility of a forwarded port, use the `gh codespace ports visibility` subcommand. {% data reusables.codespaces.port-visibility-settings %}
|
|
|
|
Replace `codespace-port` with the forwarded port number. Replace `setting` with `private`, `org`, or `public`. After entering the command choose from the list of codespaces that's displayed.
|
|
|
|
```shell
|
|
gh codespace ports visibility CODESPACE-PORT:SETTINGS
|
|
```
|
|
|
|
You can set the visibility for multiple ports with one command. For example:
|
|
|
|
```shell
|
|
gh codespace ports visibility 80:private 3000:public 3306:org
|
|
```
|
|
|
|
For more information about this command, see [the {% data variables.product.prodname_cli %} manual](https://cli.github.com/manual/gh_codespace_ports_visibility).
|
|
|
|
{% data reusables.codespaces.using-tools-to-access-ports-1 %}
|
|
|
|
### Finding the address to connect to
|
|
|
|
To find the address for a forwarded port, enter `gh codespace ports`. If you have more than one codespace, select the appropriate codespace from the list that's displayed.
|
|
|
|
Copy the address and paste it somewhere for later use.
|
|
|
|
### Finding the GITHUB_TOKEN
|
|
|
|
1. Start an SSH session for your codespace.
|
|
|
|
```shell
|
|
gh codespace ssh
|
|
```
|
|
|
|
1. If you have more than one codespace, select the appropriate codespace from the list that's displayed.
|
|
1. Display the `GITHUB_TOKEN`.
|
|
|
|
```shell
|
|
echo $GITHUB_TOKEN
|
|
```
|
|
|
|
The token is a string beginning `ghu_`.
|
|
|
|
1. Copy the token.
|
|
|
|
> [!IMPORTANT]
|
|
> Don't share this access token with anyone.
|
|
|
|
1. Exit the SSH session.
|
|
|
|
```shell
|
|
exit
|
|
```
|
|
|
|
{% data reusables.codespaces.using-tools-to-access-ports-2 %}
|
|
{% data reusables.codespaces.port-forwarding-adding %}
|
|
{% data reusables.codespaces.port-forwarding-labeling %}
|
|
|
|
### Seeing port labels on the command line
|
|
|
|
You can see the port labels when you list the forwarded ports for a codespace. To do this, use the `gh codespace ports` command and then select a codespace.
|
|
|
|
{% endcli %}
|