Page loaded over HTTPS but requested an insecure XMLHttpRequest endpoint

JavascriptHttpSslHttpsXmlhttprequest

Javascript Problem Overview


I have a page with some D3 javascript on. This page sits within a HTTPS website, but the certificate is self-signed.

When I load the page, my D3 visualisations do not show, and I get the error:

> Mixed Content: The page at 'https://integration.jsite.com/data/vis'; was loaded over HTTPS, but requested an insecure XMLHttpRequest endpoint 'http://integration.jsite.com/data/rdata.csv';. This request has been blocked; the content must be served over HTTPS.

I did some research and all I found what the JavaScript will make the call with the same protocol that the page was loaded. So if page was loaded via https then the rdata.csv should also have been requested via https, instead it is requested as http.

Is this because the certificate is self-signed on the server? What I can do to fix this, other than installing a real SSL certificate?

Javascript Solutions


Solution 1 - Javascript

> What I can do to fix this (other than installing a real SSL certificate).

You can't.

On an https webpage you can only make AJAX request to https webpage (With a certificate trusted by the browser, if you use a self-signed one, it will not work for your visitors)

Solution 2 - Javascript

I had the same issue for my angular project, then I make it work in Chrome by changing the setting. Go to Chrome setting -->site setting -->Insecure content --> click add button of allow, then add your domain name [*.]XXXX.biz

Now problem will be solved.

Solution 3 - Javascript

Steps to Allow Insecure Content in Chrome

To allow insecure content on individual sites within Chrome, click on the lock icon in the URL bar, then click 'Site settings'.

enter image description here

There you will see a list of various permissions the page has. Choose 'Allow' next to 'Insecure content'.

enter image description here

Now your HTTPS site can access HTTP endpoint

Solution 4 - Javascript

I solved the problem adding a slash at the end of the requesting url

This way: '/data/180/' instead of: '/data/180'

Solution 5 - Javascript

You will be able to solve the error by adding this code to your html file:

<meta http-equiv="Content-Security-Policy" content="upgrade-insecure-requests" />

If any solutions don't work, try this solution.

Solution 6 - Javascript

As for me, I had same warning.

I fixed it at URL request. I had excessive '/'.

Before: const url = ${URL}search/movie/?api_key=${API_KEY}&query=${movie};

After: const url = ${URL}search/movie?api_key=${API_KEY}&query=${movie};

Solution 7 - Javascript

I had the same problem but from IIS in visual studio, I went to project properties -> Web -> and project url change http to https

Solution 8 - Javascript

One solution here server side end point which you access via https, which then makes the call to whichever http url, and then and returns the result. In other words, making your own little HTTPS proxy to access the http resource

Solution 9 - Javascript

update core_config_data 
set value='X-Forwarded-Proto' 
where path='web/secure/offloader_header'

Solution 10 - Javascript

this is easy,
if you use .htaccess , check http: for https: ,
if you use codeigniter, check config : url_base -> you url http change for https.....
I solved my problem.

Attributions

All content for this solution is sourced from the original question on Stackoverflow.

The content on this page is licensed under the Attribution-ShareAlike 4.0 International (CC BY-SA 4.0) license.

Content TypeOriginal AuthorOriginal Content on Stackoverflow
QuestionJ86View Question on Stackoverflow
Solution 1 - JavascriptTomView Answer on Stackoverflow
Solution 2 - Javascriptuser2791178View Answer on Stackoverflow
Solution 3 - JavascriptSmack AlphaView Answer on Stackoverflow
Solution 4 - JavascriptFlavio LopesView Answer on Stackoverflow
Solution 5 - JavascriptKai - Kazuya ItoView Answer on Stackoverflow
Solution 6 - JavascriptMykhailo KutsyiView Answer on Stackoverflow
Solution 7 - JavascriptDaniel Jesus Cristobal RojasView Answer on Stackoverflow
Solution 8 - JavascriptJackView Answer on Stackoverflow
Solution 9 - JavascriptArtem KlymovView Answer on Stackoverflow
Solution 10 - JavascriptWilmerView Answer on Stackoverflow