bugfix middleware with templated :hostname
This commit is contained in:
parent
285cc8f95b
commit
7730ffc319
|
@ -30,11 +30,11 @@ module.exports.create = function (le) {
|
||||||
log(le.debug, "this must be tinder, 'cuz it's a match!");
|
log(le.debug, "this must be tinder, 'cuz it's a match!");
|
||||||
|
|
||||||
var token = req.url.slice(prefix.length);
|
var token = req.url.slice(prefix.length);
|
||||||
var hostname = req.hostname || (req.headers.host || '').toLowerCase().replace(/:*/, '');
|
var hostname = req.hostname || (req.headers.host || '').toLowerCase().replace(/:.*/, '');
|
||||||
|
|
||||||
log(le.debug, "hostname", hostname, "token", token);
|
log(le.debug, "hostname", hostname, "token", token);
|
||||||
|
|
||||||
var copy = utils.merge({}, le);
|
var copy = utils.merge({ domains: [ hostname ] }, le);
|
||||||
copy = utils.tplCopy(copy);
|
copy = utils.tplCopy(copy);
|
||||||
|
|
||||||
// TODO tpl copy?
|
// TODO tpl copy?
|
||||||
|
|
|
@ -1,17 +1,18 @@
|
||||||
'use strict';
|
'use strict';
|
||||||
|
|
||||||
var PromiseA = require('bluebird');
|
var PromiseA = require('bluebird');
|
||||||
|
var path = require('path');
|
||||||
var requestAsync = PromiseA.promisify(require('request'));
|
var requestAsync = PromiseA.promisify(require('request'));
|
||||||
var LE = require('../').LE;
|
var LE = require('../').LE;
|
||||||
var le = LE.create({
|
var le = LE.create({
|
||||||
server: 'staging'
|
server: 'staging'
|
||||||
, acme: require('le-acme-core').ACME.create()
|
, acme: require('le-acme-core').ACME.create()
|
||||||
, store: require('le-store-certbot').create({
|
, store: require('le-store-certbot').create({
|
||||||
configDir: '~/letsencrypt.test/etc'
|
configDir: '~/letsencrypt.test/etc'.split('/').join(path.sep)
|
||||||
, webrootPath: '~/letsencrypt.test/var/:hostname'
|
, webrootPath: '~/letsencrypt.test/var/:hostname'.split('/').join(path.sep)
|
||||||
})
|
})
|
||||||
, challenge: require('le-challenge-fs').create({
|
, challenge: require('le-challenge-fs').create({
|
||||||
webrootPath: '~/letsencrypt.test/var/:hostname'
|
webrootPath: '~/letsencrypt.test/var/:hostname'.split('/').join(path.sep)
|
||||||
})
|
})
|
||||||
, debug: true
|
, debug: true
|
||||||
});
|
});
|
||||||
|
@ -22,7 +23,10 @@ if ('/.well-known/acme-challenge/' !== LE.acmeChallengePrefix) {
|
||||||
}
|
}
|
||||||
|
|
||||||
var baseUrl;
|
var baseUrl;
|
||||||
var domain = 'example.com';
|
// could use localhost as well, but for the sake of an FQDN for testing, we use this
|
||||||
|
// also, example.com is just a junk domain to make sure that it is ignored
|
||||||
|
// (even though it should always be an array of only one element in lib/core.js)
|
||||||
|
var domains = [ 'localhost.daplie.com', 'example.com' ]; // or just localhost
|
||||||
var token = 'token-id';
|
var token = 'token-id';
|
||||||
var secret = 'key-secret';
|
var secret = 'key-secret';
|
||||||
|
|
||||||
|
@ -38,9 +42,9 @@ var tests = [
|
||||||
}
|
}
|
||||||
|
|
||||||
, function () {
|
, function () {
|
||||||
var copy = utils.merge({}, le);
|
var copy = utils.merge({ domains: domains }, le);
|
||||||
copy = utils.tplCopy(copy);
|
copy = utils.tplCopy(copy);
|
||||||
return PromiseA.promisify(le.challenge.set)(copy, domain, token, secret);
|
return PromiseA.promisify(le.challenge.set)(copy, domains[0], token, secret);
|
||||||
}
|
}
|
||||||
|
|
||||||
, function () {
|
, function () {
|
||||||
|
@ -58,9 +62,9 @@ var tests = [
|
||||||
}
|
}
|
||||||
|
|
||||||
, function () {
|
, function () {
|
||||||
var copy = utils.merge({}, le);
|
var copy = utils.merge({ domains: domains }, le);
|
||||||
copy = utils.tplCopy(copy);
|
copy = utils.tplCopy(copy);
|
||||||
return PromiseA.promisify(le.challenge.remove)(copy, domain, token);
|
return PromiseA.promisify(le.challenge.remove)(copy, domains[0], token);
|
||||||
}
|
}
|
||||||
|
|
||||||
, function () {
|
, function () {
|
||||||
|
@ -78,7 +82,7 @@ function run() {
|
||||||
var server = require('http').createServer(le.middleware());
|
var server = require('http').createServer(le.middleware());
|
||||||
server.listen(0, function () {
|
server.listen(0, function () {
|
||||||
console.log('Server running, proceeding to test.');
|
console.log('Server running, proceeding to test.');
|
||||||
baseUrl = 'http://localhost.daplie.com:' + server.address().port + LE.acmeChallengePrefix;
|
baseUrl = 'http://' + domains[0] + ':' + server.address().port + LE.acmeChallengePrefix;
|
||||||
|
|
||||||
function next() {
|
function next() {
|
||||||
var test = tests.shift();
|
var test = tests.shift();
|
||||||
|
|
Loading…
Reference in New Issue