使用Nginx

时间:2016-06-20 23:17:35

标签: nginx safari html5-audio

我有一个带有音频元素的Web应用程序,当从gunicorn或开发服务器提供时,它可以在所有浏览器和平台上运行良好。

当与Nginx一起使用时,WAV文件将无法在IOS或Safari / OS X上播放。如果我在音频元素上启用“控件”,我会“加载”并且没有任何反应。没有错误,没有声音,没有。

enter image description here

相关的HTML / Javascript:

<audio id='audio' controls>
        <source id='audioSource' src='' type='audio/wav'>
        Your browser does not support this audio tag.
</audio>

<button type='button' onclick='previewSound()'><i class='fa fa-volume-up fa-lg'></i></button>

function previewSound() {

        // Get the id of the message box
        // which is also the id of the record
        // and the name of the wav file. :)
        var messageId = $('#messageSel').val();
        if(messageId=='') return;

        // Set up the audio element.
        var myAudio = document.getElementById("audio");
        var mySource = document.getElementById("audioSource");
        mySource.src = '/dynamic/Message/' + messageId + '.wav';

        // Play the sound
        myAudio.load();
        myAudio.play();

}

相关/ etc / nginx / sites-enabled / *:

server {
...
        location /dynamic {
                try_files $uri $uri/ =404;
        }
...
}

相关/etc/nginx/mime.types:

audio/wav     wav;  /* also tried audio/x-wav  wav;  */

相关文件:

root@b827ebd0459d:/var/www/product/dynamic/Message# ls -al
total 1316
drwxrwxrwx 2 www-data www-data   4096 Jun 20 23:09 .
drwxrwxrwx 3 www-data www-data   4096 May 30 14:20 ..
-rw-rw-rw- 1 www-data www-data 229420 Jun 15 18:35 1.wav
-rw-rw-rw- 1 www-data www-data 344108 Jun 18 21:50 2.wav
-rw-rw-rw- 1 www-data www-data 753708 Jun  9 17:25 3.wav

任何疑难解答建议都表示赞赏。我已经阅读了其他类似的问题/答案,但它们似乎没有解决这个具体问题。

1 个答案:

答案 0 :(得分:1)

有几个问题: 1)我的SSL证书不正确 2)当我的应用程序位于由{dns设置的https://someothername时,我的SSL证书使用了主机名。 3)我需要在设备上实际安装证书,而不是单击&#34;继续&#34;等。

解决了这些问题后,Safari / iOS / OS X正常运行。