强制使用 SSL 进行托管

Force SSL for hosting

我有一个 angular 应用托管在 Parse.com 上,使用他们的 Javascript SDK。我想强制用户通过 SSL 访问。

除了文档建议的重定向到 SSL 的代码之外,我没有实际的云代码。

cloud/main.js

require('cloud/app.js');

cloud/app.js

var express = require('express');
var app = express();

var parseExpressHttpsRedirect = require('parse-express-https-redirect');
app.use(parseExpressHttpsRedirect());

app.listen();

当我导航到 http://myapp.parseapp.com 时 index.html 被传送并且没有进行重定向。

我可以写一些 javascript 来重定向,但用户可以选择退出它,所以它不是真正的解决方案。

任何帮助将不胜感激。

这里发生的是 public/index.html 存在并由网络服务器静态提供。您的 express 代码不是 运行 因为该文件存在于文件系统中。

但是,如果您转到 http://myapp.parseapp.com/some-page-doesnt-exist.html,那么您将被重定向到 HTTPS,因为请求已传递到您的快递代码。

解决方案是删除 public/index.html 并让所有 HTTP 请求都通过 express。然后你可以使用 express.

服务 index.html

https://parse.com/docs/hosting_guide#webapp