Http app module: start: listening on :80: listen tcp :80: bind: An attempt was made to access a socket in a way forbidden by its access permissions

1. The problem I’m having:

Caddy used to work and now is throwing this error on my system. No edits or changes made to the caddyfile.

2. Error messages and/or full log output:

Error: loading initial config: loading new config: http app module: start: listening on :80: listen tcp :80: bind: An attempt was made to access a socket in a way forbidden by its access permissions.
Error: caddy process exited with error: exit status 1

3. Caddy version:

v2.8.4 h1:q3pe0wpBj1OcHFZ3n/1nl4V4bxBrYoSoab7rL9BMYNk=

4. How I installed and ran Caddy:

a. System environment:

Everything is running as adminsitrator.
Windows 10 Pro, 64-bit, 22H2, running direct on OS, nssm service configured (different errors thrown when running direct in Terminal vs starting the service)

b. Command:

Running as Administrator in local folder that .exe is located in.

.\caddy.exe start

c. Service/unit/compose file:

Caddy is triggured to run via the Windows services, using the built in Local Service user

start

d. My complete Caddy config:

Despite being asked not to redact the domain name. I am not happy have the domain name named - sorry

{
	dynamic_dns {
		provider cloudflare .\API.json
		domains {
			website.uk subdomain
		}
		check_interval 24h
		versions ipv4
		ttl 120s
	}
}

subnet.website.uk {
	reverse_proxy localhost:portnumber
	tls {
		dns cloudflare .\API.json
	}
}

5. Links to relevant resources:

Also flagged on GitHub:

I had a bit of a look into this - it seems like a Windows-specific error related to the reservation of ports. I found some superficial indications that it might be something Microsoft changed relatively recently, but I’m not sure.

I think your best bet is to look at the Windows side of things and try to find out why port 80 is being denied to Caddy.

1 Like