节点脚本不会通过 https 运行

Node script wont run through https

本文关键字:https 运行 脚本 节点      更新时间:2023-09-26

>我有一个问题,我的网站现在有一个SSL证书,但现在我的节点脚本没有运行。

节点.js

var cs = require('./chatServer.js');
var ns = require('./notificationServer.js');
ns.start();
cs.start();

通知服务器.js

var io = require('socket.io').listen(3002,{log:false});
var sys = require('util');
var moment = require('moment');
function notificationStart(){
    io.sockets.on('connection', function(socket) {
        // my code
    });
}
exports.start=notificationStart;

聊天服务器.js

var io = require('socket.io').listen(3003,{log:false});
var sys = require('util');
var DBWrapper = require('node-dbi').DBWrapper; 
var DBExpr = require('node-dbi').DBExpr;
function chatStart()
{
    io.sockets.on('connection', function (socket) 
    {
        // my code
    });
}
exports.start = chatStart;

索引.php

<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.8.0/jquery.min.js"></script>
<script type="text/javascript" src="https://mydomain.com:3003/socket.io/socket.io.js"></script>
<script type="text/javascript" src="web/controllers/js/myChat.js"></script>
<script type="text/javascript">
    $(document).ready(function(){
        var mychat = new myChat();
        mychat.init('name','channel', 't', true);
    });
</script>

我的聊天.js

function myChat(){
    var _this = this;
    this.chatServer;
    this.init = function(user, room, type, announce, publicChannel,window){
        _this.chatServer = io.connect('https://mydomain.com:3003');
        _this.chatServer.on('connect',function(){
            _this.chatServer.emit('adduser', user, room, type);
        });
    };
}

在终端中:

节点/

我的/路径/节点.js

当网站是HTTP时,节点.js工作,但现在无法使用HTTPS有人知道我该如何解决这个问题吗?

您的 socket.io 配置为在 http 协议上工作,而不是在 https 协议上工作。我很确定您是否更改(在myChat.js中):

io.connect('https://mydomain.com:3003');

由:

io.connect('http://mydomain.com:3003');

它会起作用。

(也检查您的端口)

要使用HTTPS协议配置 socket.io,请转到此处。

我在谷歌上发现:http://chrislarson.me/blog/ssl-nodejs-express-and-socketio