![](/img/trans.png)
[英]The page at was loaded over https but requested an insecure xmlhttprequest endpoint
[英]Page loaded over HTTPS but requested an insecure XMLHttpRequest endpoint
我有一个页面上有一些 D3 javascript。 此页面位于 HTTPS 网站中,但证书是自签名的。
当我加载页面时,我的 D3 可视化没有显示,我收到错误:
混合内容:位于“ https://integration.jsite.com/data/vis ”的页面已通过 HTTPS 加载,但请求了不安全的 XMLHttpRequest 端点“ http://integration.jsite.com/data/rdata.csv ”。 此请求已被阻止; 内容必须通过 HTTPS 提供。
我做了一些研究,发现 JavaScript 将使用与页面加载相同的协议进行调用。 因此,如果页面是通过https
加载的,那么rdata.csv也应该通过https
请求,而不是作为http
请求。
这是因为证书是在服务器上自签名的吗? 除了安装真正的 SSL 证书外,我还能做些什么来解决这个问题?
我可以做些什么来解决这个问题(除了安装真正的 SSL 证书)。
你不能。
在 https 网页上,您只能向 https 网页发出 AJAX 请求(使用浏览器信任的证书,如果您使用自签名证书,它将不适用于您的访问者)
我的 angular 项目遇到了同样的问题,然后我通过更改设置使其在 Chrome 中工作。 进入Chrome设置-->站点设置-->不安全内容-->点击允许的添加按钮,然后添加您的域名[*.]XXXX.biz
现在问题将得到解决。
您可以通过将此代码添加到html文件来解决错误:
<meta http-equiv="Content-Security-Policy" content="upgrade-insecure-requests" />
如果任何解决方案不起作用,请尝试此解决方案。
至于我,我有同样的警告。
我将其修复为 URL 请求。 我有过多的'/'。
之前: const url = ${URL}search/movie/?api_key=${API_KEY}&query=${movie}
;
之后:const url = ${URL}search/movie?api_key=${API_KEY}&query=${movie}
;
我解决了在请求 url 末尾添加斜杠的问题
这样: '/data/180/' 而不是: '/data/180'
这里的一个解决方案是您通过 https 访问的服务器端端点,然后调用任何 http url,然后返回结果。 换句话说,制作你自己的小 HTTPS 代理来访问 http 资源
更新 core_config_data 设置值='X-Forwarded-Proto' where path='web/secure/offloader_header'
我遇到了同样的问题,但是从 Visual Studio 中的 IIS,我转到了项目属性 -> Web -> 并且项目 url 将 http 更改为 https
我的页面上有一些D3 javascript。 该页面位于HTTPS网站内,但是证书是自签名的。
加载页面时,我的D3可视化效果不显示,并且出现错误:
混合内容:“ https://integration.jsite.com/data/vis ”上的页面已通过HTTPS加载,但请求了不安全的XMLHttpRequest端点“ http://integration.jsite.com/data/rdata.csv ”。 该请求已被阻止; 内容必须通过HTTPS提供。
我做了一些研究,发现所有JavaScript都会使用与页面加载相同的协议进行调用。 因此,如果页面是通过https
加载的,那么rdata.csv也应该已经通过https
请求,而是以http
请求。
这是因为证书在服务器上是自签名的吗? 除了安装真实的SSL证书外,我还能做些什么来解决此问题?
这很容易,
如果您使用 .htaccess ,请检查 http: 为 https: ,
如果您使用 codeigniter,请检查配置:url_base -> 您将 url http 更改为 https .....
我解决了我的问题。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.