【发布时间】:2018-04-21 11:01:02
【问题描述】:
我正在使用 sslforfree 创建一个带有 node.js、express.js 的 https 服务器。但每当我尝试访问 https://localhost 时,它都会显示错误 403:访问被拒绝。我的文件夹结构是这样的。
我的 server.js 放在这里
var express = require('express')
, fs = require('fs')
, passport = require('passport')
, logger = require('mean-logger')
, http = require('http')
, https = require('https')
, path = require('path')
var env = process.env.NODE_ENV || 'production'
, config = require('./config/config')[env]
, auth = require('./config/middlewares/authorization')
, mongoose = require('mongoose')
var db = mongoose.connect(config.db)
var models_path = __dirname + '/app/models'
fs.readdirSync(models_path).forEach(function (file) {
require(models_path+'/'+file)
})
require('./config/passport')(passport, config)
var app = express()
require('./config/express')(app, config, passport)
require('./config/routes')(app, passport, auth)
var options = {
key: fs.readFileSync(path.resolve(__dirname,'config/ssl/patarboi.key')),
cert: fs.readFileSync(path.resolve(__dirname,'config/ssl/patarboi.crt')),
ca: fs.readFileSync(path.resolve(__dirname,'config/ssl/patarboi.ca'))
};
/*app.listen(port)
console.log('Express app started on port '+port)*/
logger.init(app, passport, mongoose)
// expose app
exports = module.exports = app
var port = process.env.PORT || 443
var server = https.createServer(options, app);
server.listen(port, function () {
console.log('server at port '+port);
});
【问题讨论】:
-
尝试将端口更改为
8080 -
感谢@GeorgeBailey。那种作品。但我不知道怎么做。你能解释一下为什么端口 443 不起作用吗?
-
让我说作为答案
-
如果这解决了您的问题,您可以接受并投票赞成答案
-
您有
localhost的 SSL 证书?
标签: javascript node.js express https ssl-certificate