Art*_*Art 12 google-app-engine node.js google-cloud-platform
我已经按照这个问题的答案:在谷歌云中从http重定向到https,但它现在似乎不再准确.引用的锚点(https://cloud.google.com/appengine/docs/flexible/nodejs/configuring-your-app-with-app-yaml#security)似乎已被删除,但没有替换备注.
作为参考,我通过Google App(flex)引擎为NodeJS提供服务.按照我的答案我的app.yaml:
handlers:
- url: /.*
script: IGNORED
secure: always
Run Code Online (Sandbox Code Playgroud)
因为HTTPS在它到达我的Express引擎之前显然已经终止(并且重定向就没用了); 目前如何正确实施?
可能有用,我通过控制台中的"自定义域"选项卡附加了一个外部域,并且确实配置了SSL证书(因此,如果用户手动转到https://.com,一切都很好)
小智 6
拉Justin的yes-https库,我能够让它工作:
var app = express();
app.use(function(req, res, next){
if (req.host != 'localhost' && req.get('X-Forwarded-Proto') == 'http') {
res.redirect(`https://${req.host}${req.url}`);
return;
}
app.router(req, res, next);
});
Run Code Online (Sandbox Code Playgroud)
起初我以为我必须这样做,因为我在一个appengine子域,并且不能使用HSTS.然后我学会了HSTS适用于子域名.:)无论如何,我认为人们可能想看看如果他们不想因某种原因使用yes-https而使用的神奇位.
贾斯汀,默认情况下自动将所有流量重定向到SSL听起来很棒.在我找到这篇文章之前,我花了好几个小时试图弄清楚如何这样做,因为我试图让我的应用程序按照https://developers.google.com/web/fundamentals/engage将Chrome添加到主屏幕安装横幅-and-retain/app-install-banners /.
| 归档时间: |
|
| 查看次数: |
3808 次 |
| 最近记录: |