【发布时间】:2017-08-30 03:58:33
【问题描述】:
我尝试将托管在 heroku(未安装 nginx)上的 Sails.js WebApp 从 http:// 强制转换为 https:// 并在我的sails.js 应用中使用此 express middleware:
在 Express 中它看起来像这样:
app.use(forceDomain({
hostname: 'www.example.com',
port: 4000,
protocol: 'https'
}));
我尝试在我的sails.js 应用程序的config/http.js 文件中使用它:
middleware: {
forceDomain: function (req, res, next) {
forceDomain({
hostname: 'www.myurl.com',
port: 4000,
protocol: 'https'
});
next();
},
order: [
'forceDomain',
...
}
我不明白如何在sails.js 中使用这个“app.use()”。 是here explained,但我不太明白。我现在拥有的东西不起作用(没有错误,但也没有重定向)。我该如何解决这个问题?
已安装 this module - 也不起作用。
【问题讨论】:
-
我觉得应该是 forceDomain: forceDomain({hostname...etc}),
-
不,这根本没有意义。嗯
-
如果您使用的是 nginx(作为反向代理),您可以在那里进行。
-
我不使用 ngingx
-
我使用了相同的 @PomeGranate 方法,但我将其包装在自定义策略中,以保持代码的清洁和模块化,并仅在选定的方法上实现重定向。缺点是,如果您想在所有应用程序 api 中使用 https,您也必须在策略配置中的所有方法上对其进行管理
标签: javascript node.js express ssl sails.js