prefixkit Ask an engineerAsk RU

Port 80 HTTP

Unencrypted web. Today mostly redirects to HTTPS and serves Let's Encrypt validation.

Protocol
TCP
Service
HTTP
Exposing to the internet
Normal to expose

Check if port 80 is open

Is it safe to open

Public websites are fine to expose, but admin panels on alternative ports are better hidden behind a VPN or an IP allow-list. Use HTTPS with a valid certificate.

How to open port 80

Open to everyone

# Linux iptables
iptables -A INPUT -p tcp --dport 80 -j ACCEPT
# Ubuntu ufw
ufw allow 80/tcp
# firewalld
firewall-cmd --permanent --add-port=80/tcp && firewall-cmd --reload
# MikroTik
/ip firewall filter add chain=input protocol=tcp dst-port=80 action=accept place-before=0 comment="port 80"
# Windows (PowerShell)
New-NetFirewallRule -DisplayName "Port 80 TCP" -Direction Inbound -Protocol TCP -LocalPort 80 -Action Allow

Only for your addresses

# allow only one address or network (replace 203.0.113.0/24)
iptables -A INPUT -p tcp --dport 80 -s 203.0.113.0/24 -j ACCEPT
iptables -A INPUT -p tcp --dport 80 -j DROP
ufw allow from 203.0.113.0/24 to any port 80 proto tcp
/ip firewall filter add chain=input protocol=tcp dst-port=80 src-address=203.0.113.0/24 action=accept
/ip firewall filter add chain=input protocol=tcp dst-port=80 action=drop

If the server is behind a router, you also need a port forward (dst-nat). Behind ISP CGNAT (100.64.0.0/10 on the WAN) forwarding will not help: you need a public IP or a VPN.

What is listening

Check on the server

# what listens on the port
ss -lntup | grep ':80 '
netstat -ano | findstr :80   # Windows
lsof -i :80   # macOS
# test from another machine
nc -vz example.com 80

Related ports