Moved NS to CF error NS_BINDING_ABORTED - Headers missing

Hi,
I’m configuring CF for the first time. I have a node.js application running on Digital Ocean. My Front End react App is hosted elsewhere on a different domain and was working, but when I changed the Name Server to CF, the Front End stopped working.
In CF I can see the records imported.
On Front End, using developer tools I can see error on the ajax calls ‘NS_BINDING_ABORTED’

Any ideas on what could be the cause and possible solution?

UPDATE, I noticed when Proxy Status is switched off the Fronte-end works. It seems that when Proxied, the headers ‘Orgin’ and ‘Referer’ is missing and I cannot see why CF is removing them…

May I ask if Cloudflare is allowed to connect to your origin host as follows in the below article?:

Nevertheless, Cloudflare IP addresses list can be found here:

Before moving to Cloudflare, was your Website working over HTTPS connection?
May I ask what SSL option have you got selected under the SSL/TLS tab at Cloudflare dashboard for your domain ( Flexible, Full, Full Strict … )?

Before moving to Cloudflare the Front-End’s worked over HTTPS
I have selected FULL under the SSL/TLS tab
I have not set Digital Ocean’s firewalls to block any incoming IP addresses (I assume this is normal otherwise FE users would get blocked?)

Can anyone assist with this query please?

If so, it’s recommend and the correct way (best for end-user/visitor and your origin host/server) the Full (Strict) SSL → if you change to this one, is there anything different?:

I see this error(s) from time to time, but only for the external third-party scripts - usually coming from the ads. Which load fine a few seconds later and send the requests HTTP 200.

1 Like

Hi, I tried three modes Flexible, Full and Strict and they all present the same issues.
I noticed using dev tools that the api calls being made are not secure, and timeout when Proxy Status is ON. When Proxy Status is OFF, the api calls are secure.

The API server is Node.js (without nginx) running on port 9089. Originally and still a Lets Encrypt certificate are installed and this is what Node.js is using.
When I switched NS to Cloudflare, I have not generated or configured the existing certs.
I am only attempting to protecting the api server with Cloudflare.

The FE is hosted elsewhere with a different domain. FE makes an API call to https://api.mydomain1.com:9089. The FE is hosted on Netlify and has a different domain i.e. https://sub1.mydomain2.com.

I am afraid the app using this port unfortunately cannot work with Cloudflare proxy mode :orange:.

The list of supported and compatible ports with Cloudflare proxy :orange: can be found at the below link:

So, may I ask if you are using Nginx to proxy (or some load balancer like Kemp) the 9089 port to one of the supported and compatible ports like 8443 (which works over HTTPS → :orange: → Full Strict), or not?

Like using a CNAME record and some kind of a Saas idea?

Hi, I dont have any proxy and go directly into node.js/express server. Does this bear a risk ?
(I’m not yet using NginX but I may have it added. I dont have a load balancer either, just a single instance.)
You are correct its a SAAS idea where its possible to have several front-ends on different domains.

I will see if I can switch the node.js port to 8443 and hopefully that should fix it.

If you have any observations please let me know in the meanwhile. Thanks again

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