2017-02-22 30 views
1

私はdash.jsとwowzaを使用してMPEGビデオをストリーミングしようとしています。ポート443でsslをストリーミングするようにVHost.xmlを設定し、それに私のkeystorepathとkeystorepasswordを与えました。私はこのリンクhttps://maximilian-boehm.com/hp2121/Create-a-Java-Keystore-JKS-from-Let-s-Encrypt-Certificates.htmを使用して、letsencrypt証明書から私のjkを作成しました。私はfullchain.pemとprivKey.pemからjksを作成しました。私はcrossdomain.xmlのCORSも有効にしました。私は、SSLストリーミングとCORSがenginemanager UIでも有効になっていることがわかります。 8087ではなくIPアドレス:8087と同じエラーを取得し、私はポート8087wowza、ダッシュ、ssl、およびcorsの問題

HTTP POST called : http://ip-address:8087/v2/servers/_defaultServer_/vhosts/_defaultVHost_/applications/App/streamfiles/96728ede-bda0-4fe7-86e1-724f5ea6237b 
Post Response: {"success":true,"message":"","data":null} 
HTTP PUT called : http://ip-address:8087/v2/servers/_defaultServer_/vhosts/_defaultVHost_/streamfiles/96728ede-bda0-4fe7-86e1-724f5ea6237b/actions/connect?connectAppName=App&appInstance=_definst_&mediaCasterType=rtp&vhostName=_defaultVHost_&streamfileName=96728ede-bda0-4fe7-86e1-724f5ea6237b 
PUT Response: {"success":true,"message":"Publish stream successfully started [App/_definst_]: mp4:96728ede-bda0-4fe7-86e1-724f5ea6237b.stream","data":null} 

上wowzaののREST APIを使用してストリームを作成する方法ここでは、これらのPOSTを試してみましたが、ホスト名に要求を入れているです。 その後、私のjsから、私はこのエラーがコンソールのchromeで表示されます。

GET https://hostname/App/96728ede-bda0-4fe7-86e1-724f5ea6237b.stream/manifest.mpd 404 (Not Found) 
c @ dash.all.min.js:6 
(anonymous) @ dash.all.min.js:6 
index#/security:1 XMLHttpRequest cannot load https://hostname/App/96728ede-bda0-4fe7-86e1-724f5ea6237b.stream/manifest.mpd. No 'Access-Control-Allow-Origin' header is present on the requested resource. Origin 'http://localhost:8090' is therefore not allowed access. The response had HTTP status code 404. 

私が間違っていることを誰かが見ることができますか、この問題に直面していますか?

答えて

1

https://hostname/App/96728ede-bda0-4fe7-86e1-724f5ea6237b.stream/manifest.mpdは、そのエラーメッセージによると、404です。

その根本的な原因と思われます。サーバーは、そのURLで要求されたリソースを見つけられません。

メッセージ内にAccess-Control-Allow-Originと記載されているのは、サーバーがエラー応答内にAccess-Control-Allow-Originレスポンスヘッダーを送信していないからです。おそらく、エラー以外の理由で送信するように設定されているからです。

だから、あなたのクライアントのJavaScriptコード、「サーバがAccess-Control-Allow-Originでそれを送っていなかったので、私は、あなたに404エラーレスポンスのレスポンスボディを与えることができない」と言っブラウザです。

リソースが404である理由は、CORS設定の問題によるものではありません。あなたはそれが(代わりのJavaScriptから)ブラウザにURLを直接開くことであることを確認することができる方法、またはcurlを使用して、それを-を要求する例いくつかのブラウザ以外のツールを使用して:

curl https://hostname/App/96728ede-bda0-4fe7-86e1-724f5ea6237b.stream/manifest.mpd 

またはエミュレートしますブラウザがリクエストを送信する方法は、Originヘッダーを含みます。

curl -H "Origin: http://localhost:8090" \ 
    https://hostname/App/96728ede-bda0-4fe7-86e1-724f5ea6237b.stream/manifest.mpd 
関連する問題