【问题标题】:Yeoman generator-angular-fullstack enabling sslYeoman generator-angular-fullstack 启用 ssl
【发布时间】:2014-05-27 02:42:02
【问题描述】:

尝试使用 generator-angular-fullstack https://github.com/DaftMonk/generator-angular-fullstack 运行 SSL 服务器。

但是,当我查看所有启用 SSL 的示例时,当我梳理代码时,它似乎并没有像 NodeJS 文档解释的那样初始化服务器:

var options = {
  key: fs.readFileSync('test/fixtures/keys/agent2-key.pem'),
  cert: fs.readFileSync('test/fixtures/keys/agent2-cert.pem')
};

// Create a service (the app object is just a callback).
var app = express();

// Create an HTTP service.
http.createServer(app).listen(80);
// Create an HTTPS service identical to the HTTP service.
https.createServer(options, app).listen(443);

有人成功过吗?除此之外,这个生成器似乎令人难以置信且易于使用。

【问题讨论】:

    标签: node.js express


    【解决方案1】:

    是的,上面的代码是您使用上面指定的密钥和证书在 443 上运行应用程序的方式。这应该允许您通过 HTTPS 与您的应用程序通信,假设您拥有这些密钥(当然,如果它们是自签名的,您会在浏览器中收到警告)。

    但是,是的,这是可行的,而且它就是这样完成的。我发现大多数人喜欢让 Node 应用程序在 HTTP 上运行,而是使用 Web 服务器(例如 nginx)来处理 SSL。然后,从 Web 服务器到 Node 应用程序的通信是通过 HTTP 进行的。这有助于让 Node 应用程序在开发/测试环境中易于运行,然后在生产环境中您就拥有 SSL 的安全性。

    【讨论】:

    • 这是推荐的做事方式吗?我对它的部署部分相对较新,我想我会在它前面没有 Web 服务器(如 nginx 或 apache)的情况下部署它,只部署节点。
    • 别误会,您可以在没有前端 Web 服务器的情况下部署和运行您的 Node 应用程序。但是添加 Web 服务器可以为您提供一些有价值的功能,例如不必在代码库中处理 SSL,而是将其分离出来。例如,如果您将代码签入 GitHub,除非有人设置证书(如果您在应用程序中启用 SSL),否则它将无法工作。此外,Web 服务器可以将流量路由到同一台机器上不同端口下运行的多个 Node 应用程序。
    • @user1200387 如果您决定使用 nginx,这里有一个可能会有所帮助的要点:gist.github.com/dylants/8609050 这是一个用于路由到多个 Node 应用程序的示例 nginx 配置文件,其中 nginx 负责 SSL。跨度>
    猜你喜欢
    • 2016-05-26
    • 1970-01-01
    • 1970-01-01
    • 2016-10-23
    • 1970-01-01
    • 2016-12-25
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多