# WHATPORT(80)

## NAME

port 80 — HTTP — Plain HTTP — the unencrypted web port, now mostly a redirector to 443 and an ACME challenge endpoint.

Protocol: TCP

## DESCRIPTION

A web server (nginx, Apache httpd, Caddy, or an application framework) accepts HTTP/1.1 requests here in cleartext, with the target host chosen by the Host header. In current deployments its main jobs are issuing a 301 to https:// and serving Let's Encrypt HTTP-01 challenges under /.well-known/acme-challenge/. It is also the default listener for dev servers, containers, and load balancer backends behind a TLS terminator. Anything on 80 is readable and modifiable by any network in the path.

## EXPOSURE

**Fine to expose.** Fine to expose when it only redirects to HTTPS and serves ACME challenges; never serve credentials, cookies, or private content over it.

## CHECK

```sh
curl -sv -o /dev/null http://example.com/
```

## SEE ALSO

- spec — [RFC 9110 — HTTP Semantics](https://www.rfc-editor.org/rfc/rfc9110.html) (rfc-editor.org)
- spec — [RFC 9112 — HTTP/1.1](https://www.rfc-editor.org/rfc/rfc9112.html) (rfc-editor.org)
- docs — [nginx documentation](https://nginx.org/en/docs/) (nginx.org)
- docs — [Apache HTTP Server 2.4 documentation](https://httpd.apache.org/docs/current/) (httpd.apache.org)

---

HTML: <https://whatport.net/80/> · JSON: <https://whatport.net/80.json> · full dataset: <https://whatport.net/ports.json>
