Http请求没有被路由到Https NodeJs

时间:2017-11-23 10:27:57

标签: node.js google-app-engine https google-cloud-platform

我的服务器位于Google App Engine,我正在使用npm模块yes-https,下面是我正在编写的代码,以便将请求限制为Https。

app.use(yes({
   maxAge: 86400,            // defaults `86400`
   includeSubdomains: true,  // defaults `true`
   preload: true             // defaults `true`           
}));

以前,此代码运行正常,我的所有请求HttpsHttp都已被路由到Https。但现在我不知道为什么来Http的请求没有被路由到Https。

任何人都可以告诉我为什么会这样。

1 个答案:

答案 0 :(得分:1)

你好,实际上这个插件工作正常。我正在做的错误是我在设置yes-https目录后将middleware放在/public上,但正确的方法是在设置/public目录之前放置它。 / p>

正确代码

app.use(yes({
  maxAge: 86400,            // defaults `86400`
  includeSubdomains: true,  // defaults `true`
  preload: true             // defaults `true`           
}));
app.use(express.static(__dirname + '/public'));

错误代码

app.use(express.static(__dirname + '/public'));
app.use(yes({
  maxAge: 86400,            // defaults `86400`
  includeSubdomains: true,  // defaults `true`
  preload: true             // defaults `true`           
}));

因为Https没有执行,但现在一切都按预期工作。