【发布时间】:2016-06-20 23:22:07
【问题描述】:
我有一个在 Forge 服务器上运行的 Laravel PHP 应用程序。服务器上有多个 Nginx 站点。我正在尝试建立一个 Socket.io 连接。我之前使用 HTTP 运行过这个,但使用 SSL 会中断。
首先,我在 forge (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 不幸的是,没有!我最终放弃并使用Pusher。它每天最多免费发送 200,000 条消息,这对我来说绰绰有余。设置大约需要 10 分钟...
标签: node.js laravel ssl socket.io laravel-forge