HTTP 400 on caddy upgrade

1. The problem I’m having:

I’m trying to download a custom caddy from the server and I’m getting an error 400
custom caddy executable with:

2. Error messages and/or full log output:

root@caddy:~# caddy upgrade
2025/06/29 10:17:13.829 INFO   this executable will be replaced {"path": "/usr/bin/caddy.custom"}
2025/06/29 10:17:13.829 INFO   requesting build {"os": "linux", "arch": "amd64", "packages": ["github.com/hslatman/caddy-crowdsec-bouncer@v0.8.1", "github.com/caddy-dns/cloudflare@v0.0.0-20250214163716-188b4850c0f2", "github.com/mholt/caddy-l4@v0.0.0-20250124234235-87e3e5e2c7f9"]}
Error: download failed: download failed: HTTP 400: unable to fulfill download request (id=2c93dcf3-715f-49a3-b5eb-fd2bf228b0bb)

3. Caddy version:

v2.9.1 h1:OEYiZ7DbCzAWVb6TNEkjRcSCRGHVoZsJinoDR/n9oaY=

4. How I installed and ran Caddy:

a. System environment:

Debian 12, LXC, x64

5. Links to relevant resources:

It’s probably the same issue as Caddy Upgrade getting http 400
Do then need to build the executable myself, or can I expect this to be fixed?

We’re going through growth pain with the build server. We’re considering a few plans, but nothing solid yet. Until we decide on the next action for the build server, build your own binaries using xcaddy or Docker.

Note that there’s an open proposal to remove the upgrade command.

1 Like

Hey Mo.

Has there been any movement on the build server issue? I’ve just tested and getting the same issue as OP.

Thanks.

I’ve taken matters into my own hands and now have my custom caddy built with a GitHub workflow

I’ve made it into a template

1 Like

The message is still the same. Don’t rely on the build server nor the upgrade command as 100% available. They’re best effort and considered for removal.

Thanks for the update. Can you advise where one can find a guide for using xcaddy to upgrade caddy with a custom build?

For example I’m wanting to upgrade from 2.9 to the latest version and include plugins for CloudFlare DNS, dynamic DNS, and Crowdsec.

Basic instructions for using xcaddy are here

More detailed instructions are available on xcaddy README on GitHub

If you installed Caddy using the apt repository on Debian-derivative distros, follow the instructions at the bottom of the page here

1 Like

This topic was automatically closed 30 days after the last reply. New replies are no longer allowed.