跨源请求已阻止:同源策略禁止读取远程资源

时间:2015-04-02 12:36:42

标签: javascript apache2 cors html5-audio

我用HTML5和JavaScript做了一些简单的音频播放器。 我的球员已经老了(2年)。

我有两个服务器,一个只有音乐(我会称之为#34; NAS"),另一个是网站(我会称之为#34;网络服务器")。 我用JavaScript加载音乐。

两年前开始,它曾经工作得很好,没有任何CORS标头设置。

自从〜一年后,我遇到了一些麻烦,所以我在NAS的apache2上添加了这些行:

Header always set Access-Control-Allow-Origin "https://webserver:port"
Header always set Accept-Ranges "bytes"
Header always set Connection "Keep-Alive"
Header always set Access-Control-Allow-Credentials true

它已经很好地工作了很长时间,没有任何麻烦。 几个星期后,我遇到了一些大麻烦,FireBug很多次都告诉我:

Cross-Origin Request Blocked: The Same Origin Policy disallows reading the remote resource at https://NAS/path/to/music. This can be fixed by moving the resource to the same domain or enabling CORS.

所以我在互联网上阅读了很多关于CORS的内容。 我在我的NAS的apache2中添加了几行:

 # MIME TYPES
            AddType audio/aac .aac
            AddType audio/mp4 .mp4 .m4a
            AddType audio/mpeg .mp1 .mp2 .mp3 .mpg .mpeg
            AddType audio/ogg .oga .ogg
            AddType audio/wav .wav
            AddType audio/webm .webm


            # HEADER
            Header always set Access-Control-Allow-Origin "https://webserver:port"
            Header always set Accept-Ranges "bytes"
            Header always set Connection "Keep-Alive"
            Header always set Access-Control-Allow-Credentials true
            Header always set Access-Control-Allow-Headers "*"
            Header always set Access-Control-Allow-Methods "POST, GET, OPTIONS, DELETE, PUT"
            Header always set Access-Control-Request-Headers: "X-Requested-With, accept, content-type"

它仍然不起作用。我发现最奇怪的是,它有时会起作用,媒体正在加载和播放,但很多时候它没有用。 所以有时候,我重试同一首歌5~20次,4~19次他不想加载它,第5~20次,他加载并播放......

我发现真的很奇怪。

感谢您的帮助

0 个答案:

没有答案