node.js+socket.io 端口没有用 ssl 打开

标签 node.js ssl socket.io

我无法通过 https 连接端口。我之前在我的代码中有一个 require('http'),我将它更改为 require('http'),但它不起作用。它仍然在浏览器中以 http 打开。这是代码。我浏览了很多论坛,但找不到答案。我的网站有 ssl 证书(smartican.com)

var express = require('express');
var routes = require('./routes');
var https = require('https');
var path = require('path');
var socketio = require('socket.io');
var util = require('util');
var url = require('url');

var DBWrapper = require('node-dbi').DBWrapper; 
var DBExpr = require('node-dbi').DBExpr; 
var dbConnectionConfig = { config};
dbWrapper = new DBWrapper( "pg", dbConnectionConfig );
dbWrapper.connect();

var app = express();

var connectedsockets = new Array();

// all environments
app.set('port', process.env.PORT || 8080);
app.set('views', path.join(__dirname, 'views'));
app.set('view engine', 'jade');
app.use(express.logger('dev'));
app.use(express.json());
app.use(express.urlencoded());
app.use(express.methodOverride());
app.use(app.router);
app.use(express.static(path.join(__dirname, 'public')));


app.get('/', routes.index);

var server = https.createServer(app).listen(app.get('port'), function(){
  console.log("Express server listening on port with https" + app.get('port'));
});
var io = socketio.listen(server);

最佳答案

尝试

server = https.createServer({key:fs.readFileSync('key.pem'), cert:fs.readFileSync('cert.pem')},app).listen....

您将您的 key 和证书作为对象传递。这使您能够使用您喜欢的 ssl 凭据。

关于node.js+socket.io 端口没有用 ssl 打开,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22717085/

相关文章:

java - 在 Java 中将 PKCS#8 私钥转换为 PEM

node.js - https.Agent 在 Node 中的作用是什么?

javascript - 将双向实时连接扩展到数十万的最佳方法是什么?

javascript - 如何使用 crisp.chat RTM api?

javascript - 如何使用 socket.io 触发消息?

node.js - 我可以使用 node.js SDK 筛选 Azure ServiceBusService 吗?

node.js - docker env 变量显示未定义

node.js - 是否可以使用具有基本扩展功能的 Node JS App Engine 标准环境来执行长时间运行的任务?

node.js - 在 Pug/Jade 中迭代未知的 JSON

javascript - React Native 允许使用 axios 自签名证书