diff --git a/lib/vhost-sni-server.js b/lib/vhost-sni-server.js index 8f13323..2bc7b94 100644 --- a/lib/vhost-sni-server.js +++ b/lib/vhost-sni-server.js @@ -324,6 +324,13 @@ module.exports.create = function (securePort, certsPath, vhostsdir) { function addSniWorkaroundCallback() { //SNICallback is passed the domain name, see NodeJS docs on TLS secureOpts.SNICallback = function (domainname, cb) { + if (/(^|\.)_proxyable\./.test(domainname)) { + // device-id-12345678._proxyable.myapp.mydomain.com => myapp.mydomain.com + // _proxyable.myapp.mydomain.com => myapp.mydomain.com + // TODO myapp.mydomain.com.proxyable.com => myapp.mydomain.com + domainname = domainname.replace(/.*\.?_proxyable\./, ''); + } + if (!secureContexts.dummy) { console.log('[log] Loading dummy certs'); secureContexts.dummy = createSecureContext(localDummyCerts);