javascript – Sails.JS HTTP HTTPS

我试图找出如何解决一个响应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,上面的解决方案就可以了.

相关文章

前言 做过web项目开发的人对layer弹层组件肯定不陌生,作为l...
前言 前端表单校验是过滤无效数据、假数据、有毒数据的第一步...
前言 图片上传是web项目常见的需求,我基于之前的博客的代码...
前言 导出Excel文件这个功能,通常都是在后端实现返回前端一...
前言 众所周知,js是单线程的,从上往下,从左往右依次执行,...
前言 项目开发中,我们可能会碰到这样的需求:select标签,禁...