diff --git a/src/cloudron.js b/src/cloudron.js index 0b20a30d0..0b31cd6a7 100644 --- a/src/cloudron.js +++ b/src/cloudron.js @@ -295,7 +295,7 @@ function configureWebadmin(callback) { function configureReverseProxy(error) { debug('configureReverseProxy: error %j', error || null); - reverseProxy.configureAdmin({ userId: null, username: 'setup' }, function (error) { + reverseProxy.configureAdmin(config.adminDomain(), { userId: null, username: 'setup' }, function (error) { debug('configureWebadmin: done error: %j', error || {}); gWebadminStatus.configuring = false; diff --git a/src/constants.js b/src/constants.js index 92f7b0713..f76d837bf 100644 --- a/src/constants.js +++ b/src/constants.js @@ -17,7 +17,7 @@ exports = module.exports = { 'admins', 'users' // ldap code uses 'users' pseudo group ], - ADMIN_NAME: 'Settings', + ADMIN_LOCATION: 'my', NGINX_ADMIN_CONFIG_FILE_NAME: 'admin.conf', NGINX_DEFAULT_CONFIG_FILE_NAME: 'default.conf', diff --git a/src/reverseproxy.js b/src/reverseproxy.js index fd6e2c94d..5a461fb82 100644 --- a/src/reverseproxy.js +++ b/src/reverseproxy.js @@ -398,14 +398,21 @@ function writeAdminConfig(bundle, configFileName, vhost, callback) { reload(callback); } -function configureAdmin(auditSource, callback) { +function configureAdmin(domain, auditSource, callback) { + assert.strictEqual(typeof domain, 'string'); assert.strictEqual(typeof auditSource, 'object'); assert.strictEqual(typeof callback, 'function'); - ensureCertificate(config.adminFqdn(), config.adminDomain(), auditSource, function (error, bundle) { + domains.get(domain, function (error, domainObject) { if (error) return callback(error); - writeAdminConfig(bundle, constants.NGINX_ADMIN_CONFIG_FILE_NAME, config.adminFqdn(), callback); + const adminFqdn = domains.fqdn(constants.ADMIN_LOCATION, domainObject); + + ensureCertificate(adminFqdn, domainObject.domain, auditSource, function (error, bundle) { + if (error) return callback(error); + + writeAdminConfig(bundle, constants.NGINX_ADMIN_CONFIG_FILE_NAME, adminFqdn, callback); + }); }); }