Nextcloud version: 11.0.2 stable
Operating system and version: Debian 8 Jessie
Apache or nginx version: nginx 1.11.13
PHP version : 7.1
Is this the first time you’ve seen this error?: Yes
Can you reliably replicate it? (If so, please outline steps):
It’s quite simple, when I enter the URL for my Nextcloud server on my android client it instantly says “Malformed server configuration” and then my “Connect” button is gray and cannot click it. I have tested the Windows App to connect and sync folders and it works like a charm.
The issue you are facing:
I cannot connect to my server using the Android client.
The output of your Nextcloud log in Admin > Logging: Sadly there is no output log on the admin panels since the client does not even connect, I cannot get passed the testing URL phase.
The output of your config.php file in /path/to/nextcloud
(make sure you remove any identifiable information!):
<?php
$CONFIG = array (
'instanceid' => 'oc3obAzi18cbst',
'passwordsalt' => 'nkxS1pPSxIOZtAwrJZAKdz+r7uXE9DXy',
'secret' => 'LwdwIud7NBtZTv3R6SgA7UFzr5CQ5hUaS5+kWNub6POUX8VsMk',
'trusted_domains' =>
array (
0 => 'cloud.domain.com',
),
'datadirectory' => '/var/www/clients/client1/web5/web/data',
'overwrite.cli.url' => 'https://cloud.mydomain.com',
'dbtype' => 'mysql',
'version' => '11.0.2.7',
'dbname' => 'db_name',
'dbhost' => 'db.mydomain.com:13306',
'dbport' => '',
'dbtableprefix' => 'oc_',
'dbuser' => 'c1_sl_db',
'dbpassword' => 'Password',
'logtimezone' => 'UTC',
'installed' => true,
'mail_from_address' => 'cloud',
'mail_smtpmode' => 'php',
'mail_domain' => 'domain.com',
'maintenance' => false,
);
The output of your Apache/nginx/system log in `/var/log/____`:
No logs related to Nextcloud in the nginx server log.
I am using the latest Android client, it worked a couple of days ago no idea why I cannot login now. I am also using ISPConfig3 with Nextcloud so here is my nginx directive:
add_header Strict-Transport-Security "max-age=15768000; includeSubDomains; preload;";
add_header X-Content-Type-Options nosniff;
add_header X-Frame-Options "SAMEORIGIN";
add_header X-XSS-Protection "1; mode=block";
add_header X-Robots-Tag none;
add_header X-Download-Options noopen;
add_header X-Permitted-Cross-Domain-Policies none;
location = /robots.txt {
allow all;
log_not_found off;
access_log off;
}
location ~ \.php$ {
try_files /b615814d8f2c19dbcb25b1fbae07ce38.htm @php2;
}
# The following 2 rules are only needed for the user_webfinger app.
# Uncomment it if you're planning to use this app.
#rewrite ^/.well-known/host-meta /public.php?service=host-meta last;
#rewrite ^/.well-known/host-meta.json /public.php?service=host-meta-json last;
location = /.well-known/carddav {
return 301 $scheme://$host/remote.php/dav;
}
location = /.well-known/caldav {
return 301 $scheme://$host/remote.php/dav;
}
location /.well-known/acme-challenge { }
# set max upload size
client_max_body_size 20G;
fastcgi_buffers 64 4K;
# Disable gzip to avoid the removal of the ETag header
gzip off;
# Uncomment if your server is build with the ngx_pagespeed module
# This module is currently not supported.
# pagespeed off;
error_page 403 /core/templates/403.php;
error_page 404 /core/templates/404.php;
location / {
rewrite ^ /index.php$uri;
}
location ~ ^/(?:build|tests|config|lib|3rdparty|templates|data)/ {
return 404;
}
location ~ ^/(?:\.|autotest|occ|issue|indie|db_|console) {
return 404;
}
location ~ ^(.+?\.php)(/.*)?$ {
try_files $1 =404;
include fastcgi_params;
fastcgi_param SCRIPT_FILENAME $document_root$1;
fastcgi_param PATH_INFO $2;
fastcgi_param HTTPS $https;
{FASTCGIPASS}
fastcgi_intercept_errors on;
fastcgi_index index.php;
fastcgi_buffers 64 64K;
fastcgi_buffer_size 256k;
fastcgi_param modHeadersAvailable true;
fastcgi_read_timeout 7200;
}
location @php2 {
fastcgi_split_path_info ^((?U).+\.php)(/?.+)$;
include fastcgi_params;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
fastcgi_param PATH_INFO $fastcgi_path_info;
fastcgi_param HTTPS $https;
{FASTCGIPASS}
fastcgi_intercept_errors on;
fastcgi_index index.php;
fastcgi_buffers 64 64K;
fastcgi_buffer_size 256k;
fastcgi_param modHeadersAvailable true;
fastcgi_read_timeout 7200;
}
location ~ ^/(?:index|remote|public|cron|core/ajax/update|status|ocs/v[12]|updater/.+|ocs-provider/.+|core/templates/40[34])\.php(?:$|/) {
fastcgi_split_path_info ^(.+\.php)(/.*)$;
include fastcgi_params;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
fastcgi_param PATH_INFO $fastcgi_path_info;
fastcgi_param HTTPS on;
fastcgi_param modHeadersAvailable true; #Avoid sending the security headers twice
fastcgi_param front_controller_active true;
#fastcgi_pass php-handler;
#fastcgi_pass unix:/var/run/hhvm/hhvm.sock;
{FASTCGIPASS}
fastcgi_intercept_errors on;
fastcgi_request_buffering off;
}
location ~ ^/(?:updater|ocs-provider)(?:$|/) {
try_files $uri/ =404;
index index.php;
}
# Adding the cache control header for js and css files
# Make sure it is BELOW the PHP block
location ~* \.(?:css|js)$ {
try_files $uri /index.php$uri$is_args$args;
add_header Cache-Control "public, max-age=7200";
# Add headers to serve security related headers (It is intended to have those duplicated to the ones above)
# Before enabling Strict-Transport-Security headers please read into this topic first.
# add_header Strict-Transport-Security "max-age=15768000; includeSubDomains; preload;";
add_header X-Content-Type-Options nosniff;
add_header X-Frame-Options "SAMEORIGIN";
add_header X-XSS-Protection "1; mode=block";
add_header X-Robots-Tag none;
add_header X-Download-Options noopen;
add_header X-Permitted-Cross-Domain-Policies none;
# Optional: Don't log access to assets
access_log off;
}
location ~* \.(?:svg|gif|png|html|ttf|woff|ico|jpg|jpeg)$ {
try_files $uri /index.php$uri$is_args$args;
# Optional: Don't log access to other assets
access_log off;
}
location = /data/htaccesstest.txt {
allow all;
log_not_found off;
access_log off;
}
I installed CatLog on the Android device to see what is going on, I saw several red warnings:
GetRemoteStatusOperation: Connection check at https://cloud.domain.com: Operation finished with HTTP status code -1 (success)
ExistenceCheckRemoteOperation: Existence check for https://cloud.domain.com/remote.php/webdav/ targeting for existence finished with HTTP status 550 (FAIL)
I also forgot to mention that I am using Let’s Encrypt for SSL, and recently updated Nginx from 1.8 to the latest version.