Давайте зашифруем SSL (фреймворк sailsjs) - PullRequest
0 голосов
/ 09 января 2019

Существуют ли какие-либо узлы модулей для sailsjs framework для создания ssl-сертификата с использованием Let's encrypt?

Ответы [ 2 ]

0 голосов
/ 31 января 2019

Как уже упоминалось, вы должны рассмотреть лучшее общее решение с точки зрения CloudFlare или SSL-разгрузки через nginx и т. Д.

Однако для этого можно использовать greenlock-express.js , чтобы получить SSL с LetsEncrypt непосредственно в среде узла Sails .

Пример ниже:

  1. Конфигурирует приложение HTTP Express, используя greenlock на порту 80, который обрабатывает перенаправляет на HTTPS и бизнес-логику LetsEncrypt.
  2. Использует конфигурацию SSL «greenlock» для настройки основного приложения Sails в качестве HTTPS на порту 443.

Пример конфигурации для 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,
  },
};

Сведения о точной настройке конфигурации см. В документации по зеленому блокированию, но вышеизложенное позволяет использовать LetsEncrypt из коробки с Sails.

Также обратите внимание, что вы можете разместить эту конфигурацию где-то вроде config/env/production.js в зависимости от ситуации.

0 голосов
/ 29 января 2019

Существует промежуточное программное обеспечение, которое позволяет перенаправлять http-> https, а также обрабатывает запросы ACME-проверки от Let's Encrypt. Насколько я могу судить, он на самом деле не запускает обновление и ничего не пишет, но я полагаю, что ACME-скрипты обрабатывают это как задания cron каждые 3 месяца или около того, что позволяет вашему приложению просто автоматически проверять, когда они запускаются. Я сам еще не реализовал это.

Я бы также попросил вас действительно рассмотреть возможность использования CloudFlare или какой-либо другой службы SSL-терминации, поскольку это также дает вам множество других преимуществ, таких как защита от DDoS, некоторые функции CDN и т. Д.

Docs: @ sailshq / жилетов

...