Ubuntu 22.04 (Jammy) open HTTP port 80 and HTTPS port 443 with ufw

If you plan to host a website on your Ubuntu 22.04 Jammy Jellyfish Linux system, it will be necessary to allow HTTP port 80 and HTTPS port 443 through the firewall, or else incoming connections will not make it to the web server.


Ubuntu 22.04 uses the ufw firewall by default, which stands for “uncomplicated firewall.” When the firewall is enabled, it will block all incoming connections by default. It will be necessary to configure the ufw firewall to allow incoming connections on certain ports if you expect to host any services, such as a web server.


In this tutorial, we will explain how to open HTTP port 80 and HTTPS port 443 on Ubuntu 22.04 Jammy Jellyfish with the ufw firewall. HTTP and HTTPS protocols are primarily used by web services such as, but not limited to, Apache or Nginx web servers.


In this tutorial you will learn:

  • How to open HTTP port 80 and HTTPS port 443
  • How to open HTTP port 80 and HTTPS port 443 for Apache and Nginx
  • How to list currently open ports/services
  • How to close/remove HTTP port 80 and HTTPS port 443

Ubuntu 22.04 Jammy Jellyfish open HTTP port 80 and HTTPS port 443 step by step instructions

By default, the port 80 for http connection and port 443 for https is blocked on Ubuntu 22.04 as you can only access this port from the actual localhost and not from any other public host. To open ports 80 and 443 we need to add an iptables rule. For this Ubuntu uses ufw.

STEP 1:The first thing we should do is open a command line terminal and check the current status of our ufw firewall.

$ sudo ufw status verbose
Status: active
Logging: on (low)
Default: deny (incoming), allow (outgoing), disabled (routed)
New profiles: skip

Based on the above output (relevant part in bold), all incomming ports are blocked by default.

STEP 2 : We have multiple options on how to open ports 80 and 443. First we can directly specify the port number or the service we wish to open the port for. Example:

$ sudo ufw allow 80
$ sudo ufw allow 443
OR
$ sudo ufw allow http
$ sudo ufw allow https

Alternatively, if we wish to open ports for a specific web server such as Apache or Nginx we can execute the below commands:

$ sudo ufw allow in "Apache Full"
OR
$ sudo ufw allow in "Nginx Full"

STEP 3 : Check your current firewall configuration settings:

$ sudo ufw status verbose
Status: active
Logging: on (low)
Default: deny (incoming), allow (outgoing), disabled (routed)
New profiles: skip

To                         Action      From
--                         ------      ----
80                         ALLOW IN    Anywhere                  
443                        ALLOW IN    Anywhere                  
80 (v6)                    ALLOW IN    Anywhere (v6)             
443 (v6)                   ALLOW IN    Anywhere (v6)

STEP 4 : In case you decide later that you need to remove the port 80 and 443 rules, you can do so by executing the below commands:

$ sudo ufw delete allow 80
$ sudo ufw delete allow 443
OR
$ sudo ufw delete allow http
$ sudo ufw delete allow https

Or if you need to remove the rules that you set for the Apache or NGINX web servers, execute the below commands:

$ sudo ufw delete allow in "Apache Full"
$ sudo ufw delete allow in "Nginx Full"

Related Posts