le-challenge-fs

A fs-based strategy for node-letsencrypt for setting, retrieving, and clearing ACME challenges issued by the ACME server

Usage no npm install needed!

<script type="module">
  import leChallengeFs from 'https://cdn.skypack.dev/le-challenge-fs';
</script>

README

le-challenge-webroot

| letsencrypt (library) | letsencrypt-cli | letsencrypt-express | letsencrypt-cluster | letsencrypt-koa | letsencrypt-hapi |

An fs-based strategy for Greenlock for setting, retrieving, and clearing ACME (Let's Encrypt) challenges issued by the ACME server

This places the acme challenge in an appropriate directory in the specified webrootPath and removes it once the challenge has either completed or failed.

  • Safe to use with node cluster
  • Safe to use with ephemeral services (Heroku, Joyent, etc)

Install

npm install --save le-challenge-fs@2.x

Usage

var http01Challenge = require('le-challenge-fs').create({
  webrootPath: '/srv/www/:hostname/.well-known/acme-challenge'   // defaults to os.tmpdir() + '/' + 'acme-challenge'
, debug: false
});

var Greenlock = require('greenlock');

Greenlock.create({
  ...
, challenges: {
    'http-01': http01Challenge
  }
});

NOTE: If you request a certificate with 6 domains listed, it will require 6 individual challenges.

Exposed Methods

For ACME Challenge:

  • set(opts, domain, key, val, done)
  • get(defaults, domain, key, done)
  • remove(defaults, domain, key, done)