Skip to main content
By default, all ports on your Nova Cloud instance are closed except for SSH (port 22). This guide shows you how to open ports for web services, Jupyter notebooks, APIs, and other applications.

Default Port Configuration

When you create an instance, the firewall (UFW — Uncomplicated Firewall) is pre-configured with:
If you created your instance with a template that includes a WebUI (Stable Diffusion, ComfyUI, or Linux Desktop), the WebUI is accessible through the portal when you click Connect on your instance — you do not need to open ports for it. See the Connecting guide for details.

Opening Ports

Connect to your instance via SSH first, then use ufw commands to manage ports.

Open a Single Port

Open a Range of Ports

Verify Your Rules

You’ll see output like:

Common Port Configurations

Here are the ports you’ll most commonly need to open, depending on your workload:

Machine Learning & Data Science

AI Image Generation

Web & API Development

LLM Inference

Restricting Access by IP

For production services, you may want to restrict port access to specific IP addresses rather than opening them to the entire internet.

Allow Only Your IP

Allow a Subnet

Find your public IP address by searching “what is my IP” in your browser, or run curl ifconfig.me from your local machine.

Closing Ports

Remove a Specific Rule

View and Delete by Rule Number

Example: Running Jupyter Notebook

Here’s a complete example of setting up Jupyter Notebook accessible from your browser:
1

Connect to your instance

2

Open port 8888

3

Install and start Jupyter

Jupyter will print a URL with a token. Copy it.
4

Access from your browser

Open your browser and go to:
Replace <your-vm-ip> with your instance’s IP and <your-token> with the token from the terminal output.

Example: Serving a Model with vLLM

1

Connect to your instance

2

Open port 8000

3

Start vLLM

4

Send a request from your local machine

Security Best Practices

Opening ports exposes your instance to the internet. Follow these practices to stay secure.
  • Only open ports you need. Every open port is a potential attack surface.
  • Use IP restrictions for sensitive services. Don’t expose database ports (3306, 5432, 6379) to the entire internet.
  • Use authentication. Always configure services with authentication tokens or passwords (e.g., Jupyter’s token, API keys).
  • Bind to 0.0.0.0 only when needed. Services bound to 127.0.0.1 are only accessible from the instance itself (via SSH tunneling), which is more secure.
  • Consider SSH tunneling as an alternative to opening ports. See below.

Alternative: SSH Tunneling

Instead of opening ports in the firewall, you can use SSH tunneling to securely access services through your SSH connection. This is more secure because the service never needs to be exposed to the internet.
Then access the service at http://localhost:8888 in your browser. The traffic is encrypted through your SSH connection.

Tunnel Multiple Ports

This forwards both Jupyter (8888) and TensorBoard (6006) at once.
SSH tunneling is ideal for development and testing. For production services that need to be accessible by others, open the port with ufw instead.

Troubleshooting

Check these in order:
  1. Is the service running? SSH into the instance and verify: ss -tlnp | grep <port>
  2. Is the service bound to the right address? It must be bound to 0.0.0.0, not 127.0.0.1. Start your service with --host 0.0.0.0 or --bind 0.0.0.0.
  3. Is the port open in UFW? Check with: sudo ufw status | grep <port>
  4. Is the instance running? Verify in the console dashboard.
UFW should be pre-installed on all Nova Cloud instances. If it’s missing:
If you accidentally blocked port 22, you cannot SSH in. Use the console to Stop and then Destroy the instance, and create a new one. Always ensure port 22 is allowed before modifying UFW rules.
The service is probably bound to 127.0.0.1 (localhost only). Change the bind address to 0.0.0.0:
Most frameworks have a --host or --bind flag for this.

What’s Next?

Connecting to an Instance

Learn about SSH access and the WebUI portal.

Choosing a GPU

Pick the right GPU and configuration for your workload.