
# Networking and host-based addressing

Overcast listens on a single port (default `4566`) and dispatches every request
to the same process, whichever service it is for. Everything here follows from
one question: **what name does a caller use, and does that name resolve for
them?**

| Page | Answers |
| --- | --- |
| [Host-routed addressing](/docs/networking/host-routing/index.md) | Which subdomain forms route where: API Gateway, Lambda URL, AppSync and S3 hostnames |
| [Hostnames that resolve for every caller](/docs/networking/hostnames/index.md) | A name that will not resolve, or resolves from your shell but not from a container |
| [What host and port a URL carries](/docs/networking/urls/index.md) | A port that differs depending on who asks |
| [Data-plane endpoints](/docs/networking/data-plane-endpoints/index.md) | An RDS, Aurora or ElastiCache endpoint that will not connect |
| [The Docker networks Overcast uses](/docs/networking/docker-networks/index.md) | The data plane, the control plane, the per-VPC bridges, and how to join them |
| [How a VPC is backed by a Docker network](/docs/networking/vpc-backing/index.md) | The bridge behind a VPC, what an internet gateway does to it, and overlapping CIDRs |
| [Egress modes](/docs/networking/egress/index.md) | Whether a container reaches the internet: `open`, `none`, and what each isolates |
| [`routed`: egress from your route tables](/docs/networking/routed-egress/index.md) | Per-subnet egress, and the address pool it draws on |
| [Lambda, ECS and VPCs](/docs/networking/vpcs/index.md) | A Lambda that cannot reach a database, and what a `VpcConfig` takes away |
| [Network state verification](/docs/networking/network-state/index.md) | A Docker network that is not as you configured it, and what `overcast network reset` does |
| [Networking troubleshooting](/docs/networking/troubleshooting/index.md) | Something failing right now: symptom, cause and fix |

Three settings decide almost all of it:

| Setting | Default | Decides |
| --- | --- | --- |
| `OVERCAST_HOSTNAME` | the host you called Overcast on | the name in every URL Overcast hands out. Set it to `localhost.overcast.sh` and one URL works from your shell and from inside a container |
| `OVERCAST_NETWORK` | `overcast` | the Docker network resources reach each other on |
| `OVERCAST_VPC_EGRESS` | `open` | whether the containers Overcast starts reach anything outside your machine |

## Related

- [Using AWS SDKs and CLI](/docs/sdk-cli/index.md) — endpoint configuration for every SDK
- [Using AWS CDK](/docs/cdk/index.md) — the S3 virtual-hosted-addressing and Windows DNS issue
- [Configuration](/docs/configuration/index.md) — every environment variable
