我在其他人使用jquery帖子在我的网站上调用一些svg图像我在控制台中出现以下错误
阻止跨源请求:同源策略禁止在https://abc/svgpaths/sample.svg读取远程资源。 (原因:缺少CORS标题'Access-Control-Allow-Origin'。)
我在.htaccess文件中设置了以下参数
<IfModule mod_headers.c>
Header add Access-Control-Allow-Origin "*"
</IfModule>
我还在putty中测试了a2enmod标头,它显示模块标头已经启用
但是当我使用Ip而不是域名
时例如:https://1.2.3.5/svgpaths/sample.svg
我在控制台中遇到错误 net :: ERR_INSECURE_RESPONSE
我无法弄清楚如何解决这个问题,请指导我解决问题。
从其他服务器调用svg的Js代码
案例1 with ip (在主域和子域上有不同的ssl)
fabric.loadSVGFromURL("https://1.2.3.4/svgpaths/sample.svg", function(objects, options){
var object = new fabric.util.groupSVGElements(objects, options);
object.set({
fill: '#000000',
selectable:false
});
错误:ERR_INSECURE_RESPONSE
案例2 当使用differnet子域调用时:(子域解析为与上面的情况1相同的ip,我最近指向子域,因此在错过的confi文件中有一些设置)
fabric.loadSVGFromURL("https://abd.maindomain.com/svgpaths/sample.svg", function(objects, options){
var object = new fabric.util.groupSVGElements(objects, options);
object.set({
fill: '#000000',
selectable:false
});
错误:Apache:CORS标题'Access-Control-Allow-Origin'缺失
答案 0 :(得分:2)
在/etc/apache2/sites-available/default-ssl.conf中添加此代码为我修复了它。
Header set Access-Control-Allow-Origin "https://example.com"
答案 1 :(得分:1)
您可能没有有效的SSL证书。您可以通过转到实际的请求URL来测试它。
同样包括实际的HTTP响应可能会有所帮助(可以在chrome的开发人员工具的网络选项卡中找到)。
PS。我会回复评论,但在移动设备上打破了