Peer.JS自己的https服务器错误
问题描述:
获取错误的ID未定义。 如果我使用0.peerjs.com
它工作得很好。 这是客户端代码:Peer.JS自己的https服务器错误
var peer = new Peer({
host: 'vchat247.hopto.org',
port: 9000,
path: '/peer/',
debug: 3,
config: {
'iceServers': [
{url: 'stun:stun1.l.google.com:19302'},
{
url: 'turn:numb.viagenie.ca',
credential: 'muazkh', username: '[email protected]'
}
]
}
});
这里是我自己peer-server
代码:
var fs = require('fs');
var PeerServer = require('peer').PeerServer;
var server = PeerServer({
port: 9000,
path: '/peer/',
ssl: {
key: fs.readFileSync('./myserver.key'),
certificate: fs.readFileSync('./vchat247.hopto.org.crt')
}
});
我在做什么错?
如果我使用此代码:
function randomString(length, chars) {
var result = '';
for (var i = length; i > 0; --i) result += chars[Math.floor(Math.random() * chars.length)];
return result;
}
var peer = new Peer(randomString(16, 'abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ'), {host: 'vchat247.hopto.org', port: 9000, path: '/peer/'});
答
我注意到你发送了一个wss
请求,这将需要通过ajax或nginx进行proxy pass
ed,以使它正常工作,因为它是一个安全的协议,你在做这个吗?此外,你如何启动peer.js服务器?它是否托管在同一个盒子上,你是否手动启动它(即:node server.js
)或者是否使用init.d或upstart创建了某种服务?
此外,我beleive这样的:certificate: fs.readFileSync('./vchat247.hopto.org.crt')
应该是这个cert: fs.readFileSync('./vchat247.hopto.org.crt')
(虽然也许它同时接受)
Take a look at this references to help with setting up a proxy pass -