Port 8080 — HTTP alternate
TCP registered
What runs on port 8080
The most common alternative HTTP port: Tomcat, Jenkins, proxies, and anything that cannot bind to 80 without root.
The most widely used HTTP alternative port, historically the standard for Tomcat and for HTTP proxies. Its ubiquity is the problem: 8080 is scanned as thoroughly as 80, so an "internal" service on 8080 with a public IP is found immediately. It is also the most frequent collision in development, since so many tools default to it.
Security considerations
Frequently left open by accident. Anything on 8080 is scanned as thoroughly as anything on 80.
Checking whether something is listening
# Linux / macOS — what is bound to the port
sudo lsof -i :8080
sudo ss -lntp | grep :8080
# Windows
netstat -ano | findstr :8080
Get-NetTCPConnection -LocalPort 8080
# is it reachable from outside?
nc -zv example.com 8080
curl -v telnet://example.com:8080
Freeing the port
# find the process, then stop it
sudo lsof -ti :8080 | xargs kill # Linux / macOS
netstat -ano | findstr :8080 # note the PID, then:
taskkill /PID <pid> /F # Windows
Should this port be open to the internet?
Yes — that is what it is for. Make sure whatever is listening is something you intend to expose, and that TLS is configured properly.
Opening or blocking port 8080
Finding the port is usually the first half of the job. Start narrow — the second rule is there for services that genuinely serve the public, and most do not:
# ufw — Debian, Ubuntu
sudo ufw allow from 10.0.0.0/8 to any port 8080 proto tcp
sudo ufw allow 8080/tcp # only if it genuinely serves the public
# firewalld — RHEL, Fedora, CentOS
sudo firewall-cmd --permanent --add-rich-rule='rule family=ipv4 source address=10.0.0.0/8 port port=8080 protocol=tcp accept'
sudo firewall-cmd --reload
# iptables, if you are still there
sudo iptables -A INPUT -p tcp --dport 8080 -s 10.0.0.0/8 -j ACCEPT
sudo iptables -A INPUT -p tcp --dport 8080 -j DROP
# Windows
New-NetFirewallRule -DisplayName "HTTP alternate 8080" -Direction Inbound -Protocol TCP -LocalPort 8080 -RemoteAddress 10.0.0.0/8 -Action Allow
10.0.0.0/8 stands in for a private range — substitute your own. Note that a firewall rule does not undo a service bound to 0.0.0.0; it only stops packets reaching it, and a misconfigured or disabled firewall then exposes it immediately.
Quick reference
| Port | 8080 |
| Protocol | TCP |
| Service | HTTP alternate |
| Range | Registered (1024–49151) — any user process may bind |
Frequently asked questions
What is port 8080 used for?
The most common alternative HTTP port: Tomcat, Jenkins, proxies, and anything that cannot bind to 80 without root.
Is it safe to open port 8080?
Frequently left open by accident. Anything on 8080 is scanned as thoroughly as anything on 80.
How do I check if port 8080 is open?
Locally, sudo lsof -i :8080 on macOS or Linux, or netstat -ano | findstr :8080 on Windows. From outside, nc -zv host 8080 tells you whether anything answers.
Why do I get "address already in use" on port 8080?
Another process is bound to it — often a previous run of your own program that did not exit cleanly. Find it with lsof -ti :8080 and stop it, or configure your application to use a different port.
Can I change the port this service uses?
Almost always yes, in the service's configuration. Moving off a default port reduces automated scan noise, but it is obfuscation rather than security — a real attacker scans all 65,535.
Other common ports
- Port 8443 — HTTPS alternate
- Port 8883 — MQTT over TLS
- Port 9000 — PHP-FPM / SonarQube / Portainer
- Port 9090 — Prometheus
- Port 9200 — Elasticsearch
- Port 11211 — Memcached
- Port 27017 — MongoDB
- Port 20 — FTP data
- Port 21 — FTP control
- Port 22 — SSH / SFTP
- Port 23 — Telnet
- Port 25 — SMTP
- Port 53 — DNS
- Port 67 — DHCP server
- Port 68 — DHCP client
- Port 69 — TFTP
- Port 80 — HTTP
- Port 110 — POP3