Mixed Content. but the 'frame' points to the wrong port!

Mixed Content: The page at ‘site’ was loaded over HTTPS, but requested an insecure frame ‘http://IP:3000/’. This request has been blocked; the content must be served over HTTPS.

so the start should be https and port should be 3080 not 3000, but I can’t find where to change this on anywhere I have looked and I cant find anything referencing this anywhere, does anyone know?

its probably a simple fix but i am stumped :frowning:

2199239 was also given this as my ticket title but forgot to put in OP like an idiot, I doubt putting it here will help but i shall anyway.

May I ask are the apps running behind a load-balancer or that ports are the real one used to communicate to the outside Internet?

The ports 3000 and 3080 aren’t the compatible ones as it seems to me on first sight.

Here is the list of compatible ports which work with Cloudflare (the DNS record being proxied - :orange: cloud)

Otherwise, if you are accessing directly to your IP:Port with the DNS record (hostname) being unproxiedm, :grey: cloud, then in this case it has to be something with your origin host/server or app settings.

Thank you for your ticket number. @cloonan

Regarding Mixed content, if that occurs when the :orange: cloud is, may I ask have you had an SSL certificate before moving your domain/website to Cloudflare?

Kindly, see on the below article:

If yes, is it a valid SSL certificate, which covers both your main domain and your sub-domains too (like www, etc.)?
Which SSL mode have you got enabled (Full SSL, …) at SSL/TLS tab on Cloudflare dashboard?

About SSL/TLS available options at Cloudflare dashboard, check here:

Kindly, check the instructions from below article to make sure you have the right SSL setup:

Useful tips to check out regarding HTTPS and mixed-contet errors:

Furthermore, maybe you need to configure/enable the option like Always use HTTPS and Automatic HTTPS redirection at SSL/TLS tab in the Cloudflare dashboard?


Hello and thank your for your response, so there is a load balancer on cloudflares end but nothing on my server, those ports are open to the internet, there is an origin cert on the server which is running on nodejs. the nodejs server runs http on port 3000, and https on 3080. i have set the mode on cloudflare to full(strict). this site has never had an ssl certificate and also i remember when i first set up the site on cloudflare i was able to point something towards the ip and used port 3000, i am just trying to figure out where I did that.

I will look over these documents you have linked and I shall get back to you if it works :slight_smile:
again thank you for your help!

1 Like

Hey I managed to quickly figure out what was wrong, I missed a few things since I am very new to all this stuff. I still had a URL redirect record on my old namecheap registrar DNS settings pointing to port 3000 and I had to remove that, I then had to point the ports on my server to 80 and 443 as I did not know I had to have those at first and i used the A record to point the subdomain to the server ip, now it automatically goes to the right port and the site loads.

I removed all dns settings from my old registrar as i found it very confusing having them brought over to cloudflare.
I have also set everything up on cloudflare now and all domains and subdomains point to the right place with SSL.

1 Like

I am happy you figure it out and it’s working :wink:

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