【问题标题】:Installing SSL On Socket.IO Node.js在 Socket.IO Node.js 上安装 SSL
【发布时间】:2013-02-25 01:46:16
【问题描述】:

我购买了 GoDaddy 标准 SSL 证书并将其安装在 http://mysite.com 上。现在https://mysite.com 运作良好。

现在,我想为在http://mysite.com:3000 运行的socket.io 安装证书

我尝试通过以下方式连接 SSL:

var socket = io.connect('https://www.mysite.com:3000', {secure:true}); 

但它不起作用。这是server.js

var io = require('socket.io'), 
    connect = require('connect'), 
    mysql = require('mysql');

var app = connect().use(connect.static('../public_html/node/'));
app.listen(3000);
var server = io.listen(app);
server.sockets.on('connection', function(socket) { 
     socket.emit('getid', {message: "A New user is online"});
}

和客户端 index.html

<script type = "text/javascript" src = "http://www.mysite.com:3000/socket.io/socket.io.js"></script>

<script type = "text/javascript">
var socket = io.connect('http://www.mysite.com:3000'); 
</script>

有什么建议吗?

【问题讨论】:

    标签: node.js ssl socket.io


    【解决方案1】:

    您的客户正在连接到http,请尝试让您的客户 index.html 连接到https

    另外,您需要加载证书。

    const crypto = require('crypto'),
      fs = require("fs"),
      http = require("http");
    
    var privateKey = fs.readFileSync('privatekey.pem').toString();
    var certificate = fs.readFileSync('certificate.pem').toString();
    
    var credentials = crypto.createCredentials({key: privateKey, cert: certificate});
    
    var handler = function (req, res) {
      res.writeHead(200, {'Content-Type': 'text/plain'});
      res.end('Hello World\n');
    };
    
    var server = http.createServer();
    server.setSecure(credentials);
    server.addListener("request", handler);
    server.listen(8000);
    

    创建您的自签名.pem 文件。 (要获得奖励积分,请让您的.csr 由一家有信誉的公司签名。)

    openssl genrsa -out privatekey.pem 2048 
    openssl req -new -key privatekey.pem -out certrequest.csr 
    openssl x509 -req -in certrequest.csr -signkey privatekey.pem -out certificate.pem
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2013-07-19
      • 2012-09-19
      • 1970-01-01
      • 1970-01-01
      • 2013-05-27
      • 1970-01-01
      • 2019-04-01
      相关资源
      最近更新 更多