mirror of
				https://git.coolaj86.com/coolaj86/greenlock-cli.js
				synced 2025-11-04 11:02:47 +00:00 
			
		
		
		
	support tls-sni-01 challenge
Previously the http-01 challenge was simply served over SSL.
This commit is contained in:
		
							parent
							
								
									7d3702aa81
								
							
						
					
					
						commit
						0e7c748fb1
					
				
							
								
								
									
										29
									
								
								index.js
									
									
									
									
									
								
							
							
						
						
									
										29
									
								
								index.js
									
									
									
									
									
								
							@ -15,6 +15,7 @@ module.exports.run = function (args) {
 | 
				
			|||||||
    args.standalone = USE_DNS;
 | 
					    args.standalone = USE_DNS;
 | 
				
			||||||
  } else if (args.tlsSni01Port) {
 | 
					  } else if (args.tlsSni01Port) {
 | 
				
			||||||
    challengeType = 'tls-sni-01';
 | 
					    challengeType = 'tls-sni-01';
 | 
				
			||||||
 | 
					    args.webrootPath = '';
 | 
				
			||||||
  } else /*if (args.http01Port)*/ {
 | 
					  } else /*if (args.http01Port)*/ {
 | 
				
			||||||
    challengeType = 'http-01';
 | 
					    challengeType = 'http-01';
 | 
				
			||||||
  }
 | 
					  }
 | 
				
			||||||
@ -27,12 +28,13 @@ module.exports.run = function (args) {
 | 
				
			|||||||
    // TODO rename le-challenge-fs to le-challenge-webroot
 | 
					    // TODO rename le-challenge-fs to le-challenge-webroot
 | 
				
			||||||
    leChallenge = require('./lib/webroot').create({ webrootPath: args.webrootPath });
 | 
					    leChallenge = require('./lib/webroot').create({ webrootPath: args.webrootPath });
 | 
				
			||||||
  }
 | 
					  }
 | 
				
			||||||
 | 
					  else if (args.tlsSni01Port) {
 | 
				
			||||||
 | 
					    leChallenge = require('le-challenge-sni').create({});
 | 
				
			||||||
 | 
					    servers = require('./lib/servers').create(leChallenge);
 | 
				
			||||||
 | 
					  }
 | 
				
			||||||
  else if (USE_DNS !== args.standalone) {
 | 
					  else if (USE_DNS !== args.standalone) {
 | 
				
			||||||
    leChallenge = require('le-challenge-standalone').create({});
 | 
					    leChallenge = require('le-challenge-standalone').create({});
 | 
				
			||||||
    servers = require('./lib/servers').create(leChallenge).startServers(
 | 
					    servers = require('./lib/servers').create(leChallenge);
 | 
				
			||||||
      args.http01Port || [80], args.tlsSni01Port || [443, 5001]
 | 
					 | 
				
			||||||
    , { debug: args.debug }
 | 
					 | 
				
			||||||
    );
 | 
					 | 
				
			||||||
  }
 | 
					  }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  leStore = require('le-store-certbot').create({
 | 
					  leStore = require('le-store-certbot').create({
 | 
				
			||||||
@ -51,14 +53,31 @@ module.exports.run = function (args) {
 | 
				
			|||||||
  }
 | 
					  }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  // let LE know that we're handling standalone / webroot here
 | 
					  // let LE know that we're handling standalone / webroot here
 | 
				
			||||||
 | 
					  var leChallenges = {};
 | 
				
			||||||
 | 
					  leChallenges[challengeType] = leChallenge;
 | 
				
			||||||
  var le = LE.create({
 | 
					  var le = LE.create({
 | 
				
			||||||
    debug: args.debug
 | 
					    debug: args.debug
 | 
				
			||||||
  , server: args.server
 | 
					  , server: args.server
 | 
				
			||||||
  , store: leStore
 | 
					  , store: leStore
 | 
				
			||||||
  , challenges: { 'http-01': leChallenge, 'tls-sni-01': leChallenge }
 | 
					  , challenges: leChallenges
 | 
				
			||||||
  , duplicate: args.duplicate
 | 
					  , duplicate: args.duplicate
 | 
				
			||||||
  });
 | 
					  });
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  if (servers) {
 | 
				
			||||||
 | 
					    if (args.tlsSni01Port) {
 | 
				
			||||||
 | 
					      servers = servers.startServers(
 | 
				
			||||||
 | 
					        [], args.tlsSni01Port
 | 
				
			||||||
 | 
					      , { debug: args.debug, httpsOptions: le.httpsOptions }
 | 
				
			||||||
 | 
					      );
 | 
				
			||||||
 | 
					    }
 | 
				
			||||||
 | 
					    else {
 | 
				
			||||||
 | 
					      servers = servers.startServers(
 | 
				
			||||||
 | 
					        args.http01Port || [80], []
 | 
				
			||||||
 | 
					      , { debug: args.debug }
 | 
				
			||||||
 | 
					      );
 | 
				
			||||||
 | 
					    }
 | 
				
			||||||
 | 
					  }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  // Note: can't use args directly as null values will overwrite template values
 | 
					  // Note: can't use args directly as null values will overwrite template values
 | 
				
			||||||
  le.register({
 | 
					  le.register({
 | 
				
			||||||
    domains: args.domains
 | 
					    domains: args.domains
 | 
				
			||||||
 | 
				
			|||||||
@ -25,7 +25,7 @@ module.exports.create = function (challenge) {
 | 
				
			|||||||
  , startServers: function (plainPorts, tlsPorts, opts) {
 | 
					  , startServers: function (plainPorts, tlsPorts, opts) {
 | 
				
			||||||
      opts = opts || {};
 | 
					      opts = opts || {};
 | 
				
			||||||
 | 
					
 | 
				
			||||||
      var httpsOptions = require('localhost.daplie.com-certificates');
 | 
					      var httpsOptions = opts.httpsOptions || require('localhost.daplie.com-certificates');
 | 
				
			||||||
      var https = require('https');
 | 
					      var https = require('https');
 | 
				
			||||||
      var http = require('http');
 | 
					      var http = require('http');
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
				
			|||||||
@ -37,6 +37,7 @@
 | 
				
			|||||||
    "homedir": "^0.6.0",
 | 
					    "homedir": "^0.6.0",
 | 
				
			||||||
    "le-acme-core": "^2.0.5",
 | 
					    "le-acme-core": "^2.0.5",
 | 
				
			||||||
    "le-challenge-manual": "^2.0.0",
 | 
					    "le-challenge-manual": "^2.0.0",
 | 
				
			||||||
 | 
					    "le-challenge-sni": "^2.0.0",
 | 
				
			||||||
    "le-challenge-standalone": "^2.0.0",
 | 
					    "le-challenge-standalone": "^2.0.0",
 | 
				
			||||||
    "le-store-certbot": "^2.0.2",
 | 
					    "le-store-certbot": "^2.0.2",
 | 
				
			||||||
    "letsencrypt": "^2.1.2",
 | 
					    "letsencrypt": "^2.1.2",
 | 
				
			||||||
 | 
				
			|||||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user