Worker doesn't work on own domain, only works on *.workers.dev

Hello.
Since I wanted to add HTTP headers I set up a worker to do it. I was already fairly familiar with it but I still thought I’d follow a guideline:

I verified my work by searching for the worker address (secureheaders.mysite.workers.dev) with the recommended header analysis tool: https://securityheaders.com/

I then added a route for my domain (*.mysite.com/*) and checked it with the tool, only to find out the headers were not showing. I even tried without * wildcards, but still nothing.

General info that you may find relevant:

  • only using Cloudfare for DNS
  • Cloudfare Universal SSL is disabled since I already have a certificate from Let’s Encrypt.
  • Strict-Transport-Security is the only header to show correctly since there’s a toggle for that.

Any advice will be greatly appreciated.

Cheers

Hi @user67810,

Meaning your DNS records are :grey: instead of :orange:?

In this case, Workers and most other Cloudflare features won’t work as they won’t proxy the traffic and your DNS records will point directly to the origin.

If you do proxy through Cloudflare, this won’t work. You need both a certificate on Cloudflare and one on your server to secure the connection.

1 Like

Hello @domjh thanks a lot for your reply.

Yes, if I enable proxy I can’t access my site (SSL_ERROR_NO_CYPHER_OVERLAP).

Ahh that explains it. What’s the recommended practice here then?
If I enable Universal SSL, what will happen to my original certificate? (It is currently managed by Github Pages). And if I have to disable my original certificate, is there a downside to using a free Cloudfare certificate as opposed to Lets Encrypt?

Thank you again

To have both. You need a certificate on Cloudflare and GitHub in your case. So just leave your original certificate as it is and enable Universal SSL on Cloudflare.

2 Likes

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