diff options
author | Julien Veyssier <eneiluj@posteo.net> | 2022-03-03 15:11:50 +0100 |
---|---|---|
committer | Julien Veyssier <eneiluj@posteo.net> | 2022-03-07 14:13:11 +0100 |
commit | d5574cf189987d978c4d4cf2bb97de08cae9e144 (patch) | |
tree | 0fb89e1fc418bc1f01247a3f528cc671c1ff7977 | |
parent | c2d759ddecad69698bfedbfe8d7a2826a92e29dd (diff) | |
download | nextcloud-server-d5574cf189987d978c4d4cf2bb97de08cae9e144.tar.gz nextcloud-server-d5574cf189987d978c4d4cf2bb97de08cae9e144.zip |
allow adding protocol to domains in 'connectivity_check_domains' config
Signed-off-by: Julien Veyssier <eneiluj@posteo.net>
-rw-r--r-- | apps/settings/lib/Controller/CheckSetupController.php | 21 | ||||
-rw-r--r-- | config/config.sample.php | 4 |
2 files changed, 17 insertions, 8 deletions
diff --git a/apps/settings/lib/Controller/CheckSetupController.php b/apps/settings/lib/Controller/CheckSetupController.php index b615bfae793..1809a47ff44 100644 --- a/apps/settings/lib/Controller/CheckSetupController.php +++ b/apps/settings/lib/Controller/CheckSetupController.php @@ -198,19 +198,24 @@ class CheckSetupController extends Controller { } /** - * Checks if the Nextcloud server can connect to a specific URL using both HTTPS and HTTP + * Checks if the Nextcloud server can connect to a specific URL + * @param string $site site domain or full URL with http/https protocol * @return bool */ - private function isSiteReachable($sitename) { - $httpSiteName = 'http://' . $sitename . '/'; - $httpsSiteName = 'https://' . $sitename . '/'; - + private function isSiteReachable(string $site): bool { try { $client = $this->clientService->newClient(); - $client->get($httpSiteName); - $client->get($httpsSiteName); + // if there is no protocol, test http:// AND https:// + if (preg_match('/^https?:\/\//', $site) !== 1) { + $httpSite = 'http://' . $site . '/'; + $client->get($httpSite); + $httpsSite = 'https://' . $site . '/'; + $client->get($httpsSite); + } else { + $client->get($site); + } } catch (\Exception $e) { - $this->logger->error('Cannot connect to: ' . $sitename, [ + $this->logger->error('Cannot connect to: ' . $site, [ 'app' => 'internet_connection_check', 'exception' => $e, ]); diff --git a/config/config.sample.php b/config/config.sample.php index 32a946ceb51..e66276e8b8d 100644 --- a/config/config.sample.php +++ b/config/config.sample.php @@ -767,6 +767,10 @@ $CONFIG = [ * connection. If none of these hosts are reachable, the administration panel * will show a warning. Set to an empty list to not do any such checks (warning * will still be shown). + * If no protocol is provided, both http and https will be tested. + * For example, 'http://www.nextcloud.com' and 'https://www.nextcloud.com' + * will be tested for 'www.nextcloud.com' + * If a protocol is provided, only this one will be tested. * * Defaults to the following domains: * |