提供跨源HTML5视频需要绕过飞行前的选项

提供跨源HTML5视频需要绕过飞行前的选项,html,apache,google-chrome,video,cors,Html,Apache,Google Chrome,Video,Cors,我试图将流媒体视频上传到源代码中嵌入的外部html5视频标签,但我无法控制。(3d虚拟世界,cloudparty) 为了让视频资产能够正常工作,视频资产服务器必须支持CORS,我已经成功地为非流媒体资产做到了这一点。http流视频会出现问题。编码器(VLC)对CORS一无所知,所以我必须代理它生成的http流。使用mod_proxy,我能够显示所需的标题。我已将此添加到apache中的虚拟主机: <IfModule mod_proxy.c> # Mod_proxy Module

我试图将流媒体视频上传到源代码中嵌入的外部html5视频标签,但我无法控制。(3d虚拟世界,cloudparty)

为了让视频资产能够正常工作,视频资产服务器必须支持CORS,我已经成功地为非流媒体资产做到了这一点。http流视频会出现问题。编码器(VLC)对CORS一无所知,所以我必须代理它生成的http流。使用mod_proxy,我能够显示所需的标题。我已将此添加到apache中的虚拟主机:

<IfModule mod_proxy.c>
# Mod_proxy Module
    ProxyReceiveBufferSize 16384

    ProxyRequests Off
    ProxyVia On
    ProxyPreserveHost On

    <Proxy *>
        Order deny,allow
        Allow from all
    </Proxy>

    <LocationMatch "/vlcstreams">
        # VLC server stream
        ProxyPass http://localhost:8081
        #ProxyPassReverse http://localhost:8081

        Header set Access-Control-Allow-Origin  "https://www.cloudparty.com"
        Header set Access-Control-Allow-Methods "GET"
        Header set Access-Control-Allow-Headers "Range, Accept-Encoding"
        Header set Accept-Ranges bytes
        #Header set Content-Length "-1"
    </LocationMatch>
</IfModule>

#Mod_代理模块
ProxyReceiveBufferSize 16384
代理请求关闭
ProxyVia On
代理主机
命令拒绝,允许
通融
#VLC服务器流
ProxyPasshttp://localhost:8081
#ProxyPassReversehttp://localhost:8081
标题集访问控制允许原点“https://www.cloudparty.com"
标题集访问控制允许方法“GET”
标题集访问控制允许标题“范围,接受编码”
标题集接受范围字节
#标题集内容长度“-1”
现在,如果我使用Firefox,一切都很好。流在3D虚拟世界中播放良好。然而,当使用Chrome时,它坚持向我的服务器发送一个选项飞行前请求。我的服务器以501响应-未实现。我不确定它是否正在将选项请求传递给VLC http服务器,或者它正在做什么。在任何情况下,我都需要以200的成功率来回答。我曾尝试过使用“重写”来响应所有选项请求,但最终我完全关闭了该虚拟主机

如果我在“不安全”模式下启动Chrome,它也可以正常运行。。。因此,这表明这肯定是一个跨域安全问题


当代理这样的流时,apache是否有办法响应这些选项飞行前请求?

我正在寻找相同的答案。我试着使用mod rewrite和mod proxy,两种方法似乎都放弃了飞行前选项请求。