better sni defaults
This commit is contained in:
parent
d4a98ea9ae
commit
d1b799f142
40
index.js
40
index.js
|
@ -163,6 +163,46 @@ LE.create = function (le) {
|
||||||
le.httpsOptions = {};
|
le.httpsOptions = {};
|
||||||
}
|
}
|
||||||
if (!le.httpsOptions.SNICallback) {
|
if (!le.httpsOptions.SNICallback) {
|
||||||
|
if (!le.getCertificatesAsync && !le.getCertificates) {
|
||||||
|
if (!le.approveDomains) {
|
||||||
|
if (!(le.approvedDomains && le.email && le.agreeTos)) {
|
||||||
|
throw new Error("You must provide opts.approveDomains(domain, certs, callback) to approve certificates");
|
||||||
|
}
|
||||||
|
le.approveDomains = function (lexOpts, certs, cb) {
|
||||||
|
if (lexOpts.domains.every(function (domain) {
|
||||||
|
return -1 !== lexOpts.approvedDomains.indexOf(domain);
|
||||||
|
})) {
|
||||||
|
lexOpts.domains = le.approvedDomains.slice(0);
|
||||||
|
lexOpts.email = le.email;
|
||||||
|
lexOpts.agreeTos = le.agreeTos;
|
||||||
|
return cb(null, lexOpts);
|
||||||
|
}
|
||||||
|
cb(new Error("unapproved domain"));
|
||||||
|
};
|
||||||
|
}
|
||||||
|
|
||||||
|
le.getCertificates = function (domain, certs, cb) {
|
||||||
|
var opts = { domain: domain, domains: certs && certs.altnames || [ domain ] };
|
||||||
|
|
||||||
|
le.approveDomains(opts, certs, function (_err, results) {
|
||||||
|
if (_err) {
|
||||||
|
cb(_err);
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
var promise;
|
||||||
|
|
||||||
|
if (results.certs) {
|
||||||
|
promise = le.core.certificates.renewAsync(results.options, results.certs);
|
||||||
|
}
|
||||||
|
else {
|
||||||
|
promise = le.core.certificates.registerAsync(results.options);
|
||||||
|
}
|
||||||
|
|
||||||
|
return promise.then(function (certs) { cb(null, certs); }, cb);
|
||||||
|
});
|
||||||
|
};
|
||||||
|
}
|
||||||
le.sni = le.sni || require('le-sni-auto');
|
le.sni = le.sni || require('le-sni-auto');
|
||||||
if (le.sni.create) {
|
if (le.sni.create) {
|
||||||
le.sni = le.sni.create(le);
|
le.sni = le.sni.create(le);
|
||||||
|
|
Loading…
Reference in New Issue