Proxy to my shinobi.video service asking to download gzip

Well, I’d suggest the problem is a simple one. I think the backend service (your cent1:8080) is doing client inspection to determine what to send back. This is perfectly normal for content encoding. The client would normally send a Accept-Encoding header. Which would tell the service that the content can be served using gzip. My thought would be that since this header is not in the request the backend service webserver who has been given a gzip response has no other option but to replace the Content-Type header with application/x-gzip.

So, try changing your Caddyfile to this.

surv.evolved.site {
	proxy / cent1:8080 {
		header_upstream Accept-Encoding {>Accept-Encoding}
		header_upstream Accept {>Accept}
		transparent
	}
}

Question: Is shinobi video a CCTV type IPCamera thingy?

P.S. @matt it might be worth noting that transparent doesn’t map the all the request headers across. Kinda feels like it should? or at least we should have a preset for that? Maybe just one for all the Accept headers?
https://github.com/mholt/caddy/blob/master/caddyhttp/proxy/upstream.go#L369