我无法通过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);
答案 0 :(得分:1)
尝试
server = https.createServer({key:fs.readFileSync('key.pem'), cert:fs.readFileSync('cert.pem')},app).listen....
您将密钥和证书作为对象传递。这使您可以使用您喜欢的ssl凭证。