Unable to use Caddy / Local Proxy in shopify cli v4

I have reproduced the issue on the latest CLI version.

Yes, I am on the latest version

I have searched existing posts and this report is not a duplicate.

Yes, this isn’t a duplicate

In which of these areas are you experiencing a problem?

Theme

Expected behavior

I should see the development store, just like in the 3.x version of the shopify cli.

Actual behavior

I get a JSON response looking like this:
{
“statusCode”: 400,
“statusMessage”: “Bad Request”,
“stack”:
}

Reproduction steps

  • create a local Caddy proxy like so:
    mystore.test {
    tls internal
    reverse_proxy 127.0.0.1:9292
    }
  • add mystore.test 127.0.0.1 to your hosts file
  • run shopify theme dev --host=127.0.0.1 --port=9292
  • run Caddy
  • open https://mystore.test

Verbose output

none

Operating system

Mac OS Tahoe

CLI version

4.4.0

Shell

iTerm2

Nodejs version

22.13.1

What language and version are you using in your application?

n/a

Hey @Rene_Roth -

Since Caddy is a third-party proxy, I can’t provide detailed support for the configuration configuration, but looking at their documentation here, it suggests overriding the upstream Host header:

One possible configuration would look like:

reverse_proxy 127.0.0.1:9292 {
  header_up Host {upstream_hostport}
}

I haven’t validated this setup end to end, so I’d treat it as a possible workaround rather than a guaranteed solution. Let me know whether it changes the response on your end. Hope this helps a bit.

Thank you, that worked perfectly! It seems there is some rebinding protection active in the newer shopify cli versions :slight_smile:

Glad this helped @Rene_Roth - let me know if I can assist with anything else on the Shopfiy end of things!