我试图找出如何解决一个响应HTTP和HTTPS请求的风帆应用程序.我使用配置express的config / local.js方法(详细
here):
var fs = require('fs'); module.exports = { port: process.env.PORT || 1337,environment: process.env.NODE_ENV || 'development',express: { serverOptions : { key: fs.readFileSync('ssl/key.pem'),cert: fs.readFileSync('ssl/cert.pem') }} };
但是,尽管如此,这样可以使服务器能够提供HTTPS请求.有没有人知道如何完成这项工作,而不会创建一个单独的HTTP服务器,重定向到443端口?
谢谢
解决方法
通过修改我的configs / local.js文件,我能够通过sails获取http和https运行:
var fs = require('fs'); var local = ... // Your default local.js settings should go here if(require('optimist').argv.https) { local.express = { serverOptions : { key: fs.readFileSync('ssl/server.key'),cert: fs.readFileSync('ssl/server.crt') } }; local.port = 1338; // This port should be different than your default port } module.exports = local;
现在你需要运行你的帆应用程序两次.第一次在你的常规帆上键入命令.第二次跑帆 – https
这应该允许您同时使用相同代码库的http和https服务器.正如其他人所提到的那样,Nginx是一个更好的解决方案来处理这种情况,但是如果你正在进行本地开发,并且不想安装Nginx,上面的解决方案就可以了.