Making HTTP and HTTPS requests in a worker

I am trying to make sub requests to both http and https endpoints (in different invocations).

For http this is how my code looks like:

export default {
  async fetch(request, env, ctx) {
    const res = await fetch(
      "http://*.tail*.ts.net",
      { redirect: "manual" },
    );
    return res;
  },
};

It keeps getting redirected to the https url. The request never hits my backend. It succeeds forhttp://example.com where it directly returns the page instead of a redirect. So insecure requests do work but I am unable to understand why this particular request is not working. Do I need to allowlist it anywhere?

For https I have the exact same code:

export default {
  async fetch(request, env, ctx) {
    const res = await fetch(
      "https://*.tail*.ts.net",
      { redirect: "manual" },
    );
    return res;
  },
};

This gives me a TLS handshake error, I have the self signed ca anyway to tell cloudflare to use that to verify or just ask to it not verify?