3

有没有人能够用 Sails.js使用让我们加密节点模块( https://git.coolaj86.com/coolaj86/greenlock-express.js )?一个小指针会很有帮助。

4

2 回答 2

1

是的,您可以使用greenlock-express.js直接在Sails节点环境中使用LetsEncrypt实现 SSL 。

下面的例子:

  1. 使用端口 80 上的 greenlock 配置 HTTP express 应用程序,该应用程序处理重定向到 HTTPS 和 LetsEncrypt 业务逻辑。
  2. 使用 greenlock SSL 配置将主 Sails 应用程序配置为端口 443 上的 HTTPS。

示例配置config/local.js

// returns an instance of greenlock.js with additional helper methods
var glx = require('greenlock-express').create({
  server: 'https://acme-v02.api.letsencrypt.org/directory'
  , version: 'draft-11' // Let's Encrypt v2 (ACME v2)
  , telemetry: true
  , servername: 'domainname.com'
  , configDir: '/tmp/acme/'
  , email: 'myemail@somewhere.com'
  , agreeTos: true
  , communityMember: true
  , approveDomains: [ 'domainname.com', 'www.domainname.com' ]
  , debug: true
});

// handles acme-challenge and redirects to https
require('http').createServer(glx.middleware(require('redirect-https')())).listen(80, function () {
  console.log("Listening for ACME http-01 challenges on", this.address());
});

module.exports = {
  port: 443,
  ssl: true,
  http: {
    serverOptions: glx.httpsOptions,
  },
};

有关微调配置的详细信息,请参阅 greenlock 文档,但以上提供了一个开箱即用的 LetsEncrypt 与 Sails 一起使用。

另请注意,您可能希望将此配置放置在config/env/production.js适当的位置。

于 2019-01-31T04:48:08.423 回答
0

我不得不将绿色锁降级到版本 2。

于 2020-04-12T08:56:50.710 回答