Error map
bind() failed (98: Address already in use) nginx: [emerg] bind() to 0.0.0.0:80 failed (98: Address already in use)
Linux · layer 6, Platform & cloud
Centre: this error. First ring: errors it is linked with (12). Outer ring: what those are linked with. Colours show the layer of a request each error belongs to. Click any dot to re-centre the map on it; hover to follow its connections. The centre dot opens the error page.
Directly related (12)
HTTP 403 Forbidden
The server understood the request but refuses to authorize it — you (or the server process) are not allowed to access this resour…
Docker: Bind for 0.0.0.0:80 failed: port is already allocated
Another container or host process already publishes that host port.
WordPress: 403 Forbidden on wp-admin, wp-login.php or admin-ajax.php
The server or a security layer refused access to WordPress admin URLs — file permissions, a security plugin/WAF rule, ModSecurity…
Error: listen EADDRINUSE: address already in use :::3000
Another process is already listening on that port.
Nginx 400: The SSL certificate error (495 / 496 client certificate)
Nginx rejected the request because the client certificate was invalid (495) or missing (496) on a site that requires mutual TLS.
Nginx: upstream timed out (110: Connection timed out) while reading response header from upstream
Nginx waited longer than proxy_read_timeout (60 s default) for the backend (app server, PHP-FPM) to respond, then returned 504.
Web server failed to start. Port 8080 was already in use.
Spring Boot couldn’t bind its embedded server port because another process uses it.
driver failed programming external connectivity on endpoint: iptables: No chain/target/match by that name
Docker’s iptables rules were wiped (firewalld/ufw reload, iptables flush) while Docker was running, so it can’t publish ports.
Job for nginx.service failed because the control process exited with error code
systemd tried to start the service, but its start command failed. The real reason is in the service’s status/journal.
System.IO.IOException: Failed to bind to address http://127.0.0.1:5000: address already in use
Kestrel can’t listen because another process (often a previous run of the same app) uses the port.
WordPress: 404 Not Found on every page except the homepage (permalinks / .htaccess / Nginx rules)
Pretty permalinks aren’t being routed to index.php — .htaccess is missing/ignored (Apache) or Nginx lacks try_files.
Nginx: nginx: [emerg] unknown directive "x" in /etc/nginx/sites-enabled/x:12 — configuration file test failed
Nginx found a directive it doesn’t know — a typo, a missing semicolon on the previous line, a directive from a module that isn’t…
Two steps away (35)
Git: Permission denied (publickey). fatal: Could not read from remote repository.
SSH authentication to GitHub/GitLab/Bitbucket failed — no key, wrong key, or the key isn’t added to your account.
AWS S3: AccessDenied (403) when calling GetObject / PutObject
An IAM policy, bucket policy, ACL/ownership setting, Block Public Access or KMS key policy denied the S3 request.
Linux: Permission denied
Your user (or the service user) lacks read/write/execute permission on a file, directory or one of its parents.
Cannot connect to the Docker daemon at unix:///var/run/docker.sock. Is the docker daemon running?
The docker CLI can’t talk to the Docker engine — it isn’t running, or your user can’t access the socket.
Conflict. The container name "/x" is already in use by container …
A container (running or stopped) already has that name; Docker won’t create a second one with the same name.
Error: listen EACCES: permission denied 0.0.0.0:80
Node isn’t allowed to bind that port — ports below 1024 need root on Linux/macOS, and some Windows ports are reserved.
Webhook signature verification failed (Stripe, Razorpay, GitHub…)
Your endpoint computed a different HMAC signature than the one the provider sent, so the webhook is rejected.
WordPress: Sorry, you are not allowed to access this page.
Your user role lacks the capability for that admin screen — or the database table prefix / user capabilities are out of sync afte…
Cloudflare Error 1020: Access Denied
A Cloudflare firewall/WAF custom rule blocked the request — the visitor’s IP, country, user agent or request pattern matched a bl…
Error: connect ECONNREFUSED 127.0.0.1:5432
Nothing is listening at that host:port — the target service is down or you’re connecting to the wrong address.
npm ERR! code ELIFECYCLE / Command failed with exit code 1
An npm script (build, start, test, postinstall) exited with an error. ELIFECYCLE is only the wrapper — the real error is printed…
Error: write EPIPE
Node wrote to a pipe or socket whose other end was already closed.
HTTP 400 Bad Request
The server could not understand the request because its syntax, headers or body are malformed or invalid.
SSL: CERTIFICATE_VERIFY_FAILED / unable to get local issuer certificate
The client couldn’t verify the server’s TLS certificate chain, so it refused the HTTPS connection.
FastCGI sent in stderr: "Primary script unknown"
Nginx passed a script path to PHP-FPM that PHP-FPM couldn’t find — usually a wrong SCRIPT_FILENAME or root.
MySQL ERROR 2006 (HY000): MySQL server has gone away
The connection to MySQL was closed — usually by a timeout or a packet larger than `max_allowed_packet`.
HTTP 408 Request Timeout
The server closed the connection because the client took too long to send the complete request.
HTTP 502 Bad Gateway
A proxy or gateway (Nginx, load balancer, CDN) got an invalid response — or no response — from the upstream server behind it.
UnsatisfiedDependencyException / NoSuchBeanDefinitionException: No qualifying bean of type 'X' available
Spring couldn’t find (or choose) a bean to inject.
The dependencies of some of the beans in the application context form a cycle
Two or more Spring beans depend on each other through constructors, and Spring Boot 2.6+ forbids cycles by default.
Failed to configure a DataSource: 'url' attribute is not specified and no embedded datasource could be configured.
Spring Boot found JDBC/JPA on the classpath but no database URL.
LOG: could not bind IPv4 address "0.0.0.0": Address already in use — Is another postmaster already running on port 5432?
Another process (often a second PostgreSQL install or a container) already listens on 5432.
OSError: [Errno 98] Address already in use
The port your server wants to bind is already taken by another process.
ECS task stopped: CannotPullContainerError: pull image manifest has been retried ... / ref pull has been retried
The ECS task couldn’t pull its image — no network route to the registry, missing ECR permissions, or a wrong image tag.
spec.ports[0].nodePort: Invalid value: 80: provided port is not in the valid range. The range of valid ports is 30000-32767
A NodePort Service asked for a port outside the cluster’s NodePort range (default 30000–32767).
Failed to start x.service: Unit x.service not found
systemd has no unit with that name — the package isn’t installed, the name differs on this distro, or a new unit file wasn’t load…
System has not been booted with systemd as init system (PID 1). Can't operate.
You ran systemctl inside an environment without systemd as PID 1 — a Docker container or older WSL.
Unable to configure HTTPS endpoint. No server certificate was specified, and the default developer certificate could not be found or is out of date
Kestrel was told to listen on HTTPS but has no certificate — the ASP.NET Core dev certificate is missing/expired, or production d…
HttpRequestException: No connection could be made because the target machine actively refused it (localhost:5001)
Nothing is listening on the host/port the client called — the API isn’t running, uses another port, or the container/network addr…
HTTP 404 Not Found
The server can’t find anything at the requested URL.
Nginx 444 No Response (connection closed without response)
An Nginx-specific code: the server deliberately closed the connection without sending anything — a rule is dropping the request.
400 Bad Request: The plain HTTP request was sent to HTTPS port (Nginx 497)
Plain http:// traffic arrived on a port Nginx expects to be TLS (443 or a custom SSL port).
HTTP 413 Content Too Large (Request Entity Too Large)
The request body is bigger than the server is willing to accept — usually a file upload over the configured limit.
OAuth Error: redirect_uri_mismatch
The redirect URI in your OAuth request doesn’t exactly match one registered for the client in the provider’s console.
WordPress: Error Establishing a Database Connection
WordPress can’t connect to its MySQL/MariaDB database with the credentials in wp-config.php, or the database server is down.
Map another error
Popular: 4035004000xC000007BTypeErrorCritical error404NullPointerException