Hosting and deploy
What is localhost:8080?
localhost:8080 is a local server on port 8080, the common alternative HTTP port. Which tools use it, how to find what holds the port, and why it will not load.
localhost:8080 is a server running on your own computer on port 8080, a common alternative to the standard web port 80. Spring Boot, Tomcat, Jenkins, webpack-dev-server and many Docker examples use it by default. If it will not load, the server is not running or uses another port. If the port is taken, stop the process holding it.
Published · Last updated
Why port 8080
Port 80 is the standard HTTP port, and on many systems binding to ports below 1024 needs administrator rights. 8080 became the conventional unprivileged alternative, so many development servers and Java application servers default to it.
What usually runs there
- Spring Boot applications and Apache Tomcat.
- Jenkins.
- webpack-dev-server and Vue CLI projects.
- Docker examples that map a container's port to 8080 on the host.
- Local proxies and some database admin tools.
Why it will not load
- Nothing is running on 8080, or the server crashed during startup.
- The app started on another port. Check its startup log.
- A container listens internally but the port is not published, or it listens on 127.0.0.1 inside the container.
- Another program holds the port, so your server failed to start.
Find what holds the port
# macOS and Linux lsof -i :8080 # Windows netstat -ano | findstr :8080
Stop that process, or configure your app to use another port, for example server.port=8081 in Spring Boot or a --port flag for development servers.
Changing the port
Most tools let you choose the port. In Spring Boot, set server.port in application.properties. For webpack-dev-server and Vue CLI, pass --port. In Docker, change the host side of the mapping, such as -p 8081:8080, which keeps the container unchanged and serves it on 8081 on your machine. If two projects both want 8080, give each its own port permanently rather than stopping one every time.
Moving from localhost to production
In production, visitors reach your site on ports 443 for HTTPS and 80 for HTTP. A reverse proxy or your hosting platform forwards those to the port your app listens on internally, such as 8080. Visitors should never need to type a port number.
A production app served directly on :8080 without HTTPS exposes logins and data in plain text. Put it behind a proxy or platform that terminates TLS.
What a scan can and cannot tell you
WebAuditOS scans public sites, not localhost. Once deployed, it checks the site is served over HTTPS and reports console errors and failed requests, which reveal frontend code still calling a local port.
If production pages request resources from localhost:8080, a development URL is baked into the build.
Short answers
Is 8080 the same as 80? No. Both are commonly used for HTTP, but 80 is the standard port.
Why does Spring Boot use 8080? It is Spring Boot's default server port.
How do I free port 8080? Find the process with lsof or netstat and stop it.
Can I use HTTPS on 8080? Yes, but production sites should serve HTTPS on 443.
In the product
The checks this maps to
Every check named here runs on every scan, on every plan - what a plan changes is how many pages are crawled, how long the history is kept and what you can do with the result. These are the ids the findings carry, so you can match a line in a report to the explanation above.
- tech.console-errors - No JavaScript errors in the console
- tech.failed-requests - No failed subresource requests
- sec.https.enabled - Site is served over HTTPS
Read next
Hosting and deploy
What is localhost:3000, and why won't it load?
localhost:3000 is a development server on your own computer. Which tools use port 3000, and how to fix refused connections and port in use errors.
Hosting and deploy
What is Docker, and why do developers use it?
Docker packages an app and everything it needs into a container that runs the same everywhere. Images, containers and Compose explained, plus security basics.