强制使用 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
我有一个 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