我在Forge服务器上运行Laravel PHP应用程序。服务器上有多个Nginx站点。我试图建立一个Socket.io连接。我以前使用HTTP运行此操作,但SSL使用中断。如何使用SSL查找Node.js Socket.io连接地址?
首先,我伪造了一个新网站(socket.mydomain.com
)并使用Forever
来运行Node.js脚本。我知道脚本正在运行,因为它正在接收事件并将它们输出到控制台中 - 我只是无法连接到前端。
我socket.io脚本是:
var https = require('https'),
fs = require('fs');
var options = {
key: fs.readFileSync('/etc/nginx/ssl/socket.example.com/54082/server.key'),
cert: fs.readFileSync('/etc/nginx/ssl/socket.example.com/54082/server.crt')
};
var app = https.createServer(options);
var io = require('socket.io').listen(app);
io.sockets.on('connection', function(socket) {
console.log('connected');
});
app.listen(3000);
我使用前端代码是:
<script type="text/javascript" src="https://socket.example.com/socket.io/socket.io.js"></script>
<script type="text/javascript">
var io = io('https://socket.example.com', {secure: true});
....
有谁知道我怎样才能使与SSL这项工作?比如,地址/端口应该是什么?我如何在正确的端口上启动Forever?我的Nginx应该设置一些具体的东西吗?
很多很多的感谢,这一直是年龄的问题....
任何更新?你能做到这一点吗?我有同样的问题。非常感谢! – kevnk
@kevnk不幸的是没有!我最终放弃并使用[Pusher](http://pusher.com)。它每天免费发送200,000条消息,这对我来说已经足够了。花了大约10分钟设置... – samiles