Access-Control-Allow-Origin无法与Apache2,Mirador和Loris

时间:2016-12-27 06:16:59

标签: apache .htaccess google-chrome cors

我正在尝试建立一个Loris服务器来提供我所拥有的中世纪建筑和文本的一些图像,并设置Mirador查看器来查看图像。 Loris运行在Ubuntu 16.04 LTS盒子上,而Mirador运行在Ubuntu 12.04 LTS上。当所有内容在同一台服务器上运行时,此设置很有效,但如果我尝试从其他位置访问清单,则会遇到CORS问题。

从Loris服务器向Mirador添加清单工作正常 - 清单显示缩略图 - 但点击该缩略图会产生黑色画布。检查错误控制台,报告的错误为"XMLHttpRequest cannot load http://208.113.167.107/loris/01/04/124A2505.tif/info.json. Origin http://www.minorworksoflydgate.net is not allowed by Access-Control-Allow-Origin."

使用"XMLHttpRequest cannot load http://208.113.165.33/loris/Lydgate/Testament/Clopton/sw_test_3.jpg/info.json. The 'Access-Control-Allow-Origin' header contains multiple values '*, *', but only one is allowed. Origin 'http://www.minorworksoflydgate.net' is therefore not allowed access."

返回Chrome浏览器

由于问题似乎是图像,而不是清单,我想知道问题是图像文件夹是否没有允许CORS请求的适当权限。 Chrome正在显示正在传递两个标头请求,但从/etc/apache2/sites-enabled/000-default.conf删除标头请求意味着会导致错误,即根本没有发送标头。

是否需要注意一个位置或确保放置所有内容,或者我需要取消注释或添加一些配置行才能使其正常工作?我读过的所有内容都表明它应该在这一点上起作用,所以我迷失了。

1 个答案:

答案 0 :(得分:0)

想出足以解决我的问题。 webapp.py中的set_acao,在定义时,添加了额外的头语句。为什么它没有触发,除非我添加标题000-default.conf,我不知道,但评论它解决了我的直接问题,所以我很好。