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
|Category||Requirements, Conventions or Software Version Used|
|System||Ubuntu 22.04 Jammy Jellyfish|
|Other||Privileged access to your Linux system as root or via the
# – requires given linux commands to be executed with root privileges either directly as a root user or by use of
$ – requires given linux commands to be executed as a regular non-privileged user
Ubuntu 22.04 Focal Fossa 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.
- 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.
- 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"
- 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)
- 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"
In this tutorial, we learned how to open port 80 for HTTP and port 443 for HTTPS through the ufw firewall on Ubuntu 22.04 Jammy Jellyfish Linux. As long as there are no other devices filtering traffic to your Ubuntu 22.04 server, your website should be accessible on port 80 or 443 to any IP address on the internet.