我在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