With a remap rule like
(note the mapping from http -> https), we'll end up with a request on port 80 to the origin server. I've verified that the offending API that causes this "rewrite" is TSHttpTxnEffectiveUrlStringGet() (100% certain). So it's not a bug in the cacheurl plugin IMO; it does the right thing and returns TSREMAP_NO_REMAP to tell the rewrite engine to use the default mapping rule. This mostly works, where the destination host and path are rewritten properly, but the port gets set to 80 (presumably some default tripping).