57 lines
		
	
	
		
			1.6 KiB
		
	
	
	
		
			Markdown
		
	
	
	
	
	
			
		
		
	
	
			57 lines
		
	
	
		
			1.6 KiB
		
	
	
	
		
			Markdown
		
	
	
	
	
	
| # [le-challenge-webroot](https://git.rootprojects.org/root/acme-http-01-webroot.js)
 | |
| 
 | |
| | [letsencrypt](https://git.rootprojects.org/root/greenlock.js) (library)
 | |
| | [letsencrypt-cli](https://git.rootprojects.org/root/greenlock-cli.js)
 | |
| | [letsencrypt-express](https://git.rootprojects.org/root/greenlock-express.js)
 | |
| | [letsencrypt-cluster](https://git.rootprojects.org/root/greenlock-cluster.js)
 | |
| | [letsencrypt-koa](https://git.rootprojects.org/root/greenlock-koa.js)
 | |
| | [letsencrypt-hapi](https://git.rootprojects.org/root/greenlock-hapi.js)
 | |
| |
 | |
| 
 | |
| 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
 | |
| -------
 | |
| 
 | |
| ```bash
 | |
| npm install --save le-challenge-fs@2.x
 | |
| ```
 | |
| 
 | |
| Usage
 | |
| -----
 | |
| 
 | |
| ```js
 | |
| 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)`
 |