1
我流使用Debian杰西,阿帕奇,Node.js和受Binary.js一个mp3文件,它的工作原理采用http://
和ws://
,但我不能让它工作使用https://
和wss://
...服务器启动,但是我得到这个错误在浏览器:安全使用的WebSocket的node.js和binary.js
WebSocket连接到 'WSS://192.168.0.14:9000 /' 失败:错误 连接建立:网:: ERR_CONNECTION_CLOSED
这就是我想:
个index.js:
var https = require('https');
var fs = require('fs');
var hskey = fs.readFileSync('/etc/ssl/private/ssl-cert-snakeoil.key');
var hscert = fs.readFileSync('/etc/ssl/certs/ssl-cert-snakeoil.pem')
var options = {
key: hskey,
cert: hscert
};
httpsServer = https.createServer(options, function (req, res) {
res.writeHead(200);
res.end("Hi from HTTPS");
}).listen(8080);
var BinaryServer = require('/home/john/node_modules/binaryjs').BinaryServer;
var server = BinaryServer({
port: 9000,
server: httpsServer
});
// callback function
server.on('connection', function(client) {
var file = fs.createReadStream('/var/www/html/mp3/audio.mp3');
client.send(file);
});
的index.html:
<!doctype html>
<html>
<head>
<title>Stream audio</title>
<meta charset="utf-8">
<script src="https://cdn.jsdelivr.net/binaryjs/0.2.1/binary.min.js"></script>
<script>
var client = new BinaryClient('wss://192.168.0.14:9000');
client.on('stream', function(stream, meta){
var parts = [];
stream.on('data', function(data){
parts.push(data);
});
stream.on('end', function(){
var music = document.createElement('audio');
music.src = (window.URL || window.webkitURL).createObjectURL(new Blob(parts));
music.controls = 'controls';
music.preload = '';
document.body.appendChild(music);
});
});
</script>
</head>
<body>
</body>
</html>
我使用的Apache – neoDev
我怎样才能为Apache做到这一点? – neoDev