Node.js 如何使用.crt文件在sails.js中配置https
我在nodeJS上运行sailsJS,并试图设置HTTPS,但我似乎被卡住了。我可以访问我的站点,但不能访问 这个问题与之类似,只是我没有.pem文件,而是从Media Temple的QuickSL中获得的.crt和.key文件 这就是我在config/bootstrap.js中的内容Node.js 如何使用.crt文件在sails.js中配置https,node.js,ssl,sails.js,Node.js,Ssl,Sails.js,我在nodeJS上运行sailsJS,并试图设置HTTPS,但我似乎被卡住了。我可以访问我的站点,但不能访问 这个问题与之类似,只是我没有.pem文件,而是从Media Temple的QuickSL中获得的.crt和.key文件 这就是我在config/bootstrap.js中的内容 module.exports.bootstrap=函数(cb){ var fs=需要('fs'); sails.config.express.serverOptions={ key:fs.readFileSync
module.exports.bootstrap=函数(cb){
var fs=需要('fs');
sails.config.express.serverOptions={
key:fs.readFileSync('/etc/ssl/private/mysite.com.key'),
证书:fs.readFileSync('/etc/ssl/crt/mysite.com.crt'),
ca:[fs.readFileSync('/etc/ssl/crt/mysite.com geotrust.crt')]
};
cb();
};
我在config/local.js中将端口号设置为443
有人能给我指出正确的方向吗?我知道,您用于配置express的语法不适用于较新版本的SAIL,因此我对其进行了更新,并使用自签名证书。我将代码移到了local.config文件中,因为它实际上是一个环境设置…我没有尝试过的一件事是证书颁发机构 下面是我的config.local文件的外观:
var fs = require('fs');
module.exports = {
express: { serverOptions : {
key: fs.readFileSync('ssl/mysite.key'),
cert: fs.readFileSync('ssl/mysite.com.crt')
}
},
port: process.env.PORT || 443,
environment: process.env.NODE_ENV || 'development'
};
如果这不起作用,您可能需要考虑以下几点:
sailsJS中SSL的官方文档仍在编写中,但我在网站上找到了它。在您的config/local.js中
module.exports.port = 80;
module.exports.environment = 'production';
module.exports.ssl = {
cert: 'path/to/cert',
key: 'path/to/key'
};
特快列车和帆船发生了很大的变化。所以你应该尝试新的例子。我找不到很多这样的例子。为了给其他人已经提到的内容添加一些配置选项,我想补充的是,您可以指定这样使用的密码(在那些不应该与
一起使用的密码之前)!
:
您还可以传递节点的tls文档页面上声明的其他选项:。我还发现
密码:“高:!aNULL:!MD5:!3DES”,
要获得更好的结果,请尝试通过
作为从0.9到0.10的更新,local.js文件现在应该具有
ssl : {
key: fs.readFileSync(‘server.key’),
cert: fs.readFileSync(‘server.crt’)
}
而不是
express : {
serverOptions : {
key: fs.readFileSync('ssl/server.key'),
cert: fs.readFileSync('ssl/server.crt')
}
};
能否显示local.js以及设置https服务器的位置。在我看来,您似乎正在将选项传递给express。Express不再创建https服务器,它需要https服务器。这不适用于我。不确定这是否是因为我使用的是“geotrust”签名证书。这为我设置了https,但稍后会导致req.session.passport未定义。(来自谷歌护照)。您可能知道是什么导致了这种情况吗?您还需要为会话设置这种情况:module.exports.express={customMiddleware:function(app){app.use(passport.initialize());app.use(passport.session());};
express : {
serverOptions : {
key: fs.readFileSync('ssl/server.key'),
cert: fs.readFileSync('ssl/server.crt')
}
};