Skip to content

Connection fails when server sends compressed responses #11212

@jpmcm1

Description

@jpmcm1

⚠️ Before posting ⚠️

  • This is a bug, not a question or an enhancement.
  • I've searched for similar issues and didn't find a duplicate.
  • I've written a clear and descriptive title for this issue, not just "Bug" or "Crash".
  • I agree to follow Nextcloud's Code of Conduct.

Steps to reproduce

  1. All devices are connected in the same Tailscale net.

  2. Create a standard Nextcloud instance with docker.

  3. Reverse-proxy this instance through a second docker Nginx container.

  4. Generate a Tailscale HTTPS certificate, and apply to nginx proxy config.

  5. Run the instance!

  6. Connect to Nextcloud with another device on the tailscale network, ie: cloud.tailxxxxx.ts.net. Complete setup.

  7. Connect Android device to Tailscale.

  8. Try to connect with Android client through a Tailnet address (like cloud.tailxxxxx.ts.net). FAILS with "Server not found"

Expected behaviour

Android client should connect.

Actual behaviour

Client fails with "Server not found".

Note that this is very much an Android-client only issue! ON the exact same Android phone, without changing any connection, I can load the nextcloud page through firefox without any trouble. I also have tested this on a Macbook and the ipad app from the app store, all of which also work fine.

Android version

13

Device brand and model

Samsung S21+

Stock or custom OS?

Stock

Nextcloud android app version

Nextcloud-android/20221227 (dev)

Nextcloud server version

25.0.2

Using a reverse proxy?

Yes

Android logs

Abbreviated log; my tailnet info, etc. changed.

12-31 00:31:48.980 14616 14616 D InputMethodManager: startInputInner - Id : 0
12-31 00:31:48.980 14616 14616 I InputMethodManager: startInputInner - mService.startInputOrWindowGainedFocus
12-31 00:31:48.982 14616 14616 D OperationsService: Starting command with id 22
12-31 00:31:48.983 14616 14665 D OwnCloudClient #0: REQUEST GET /status.php
12-31 00:31:48.986 14616 14665 D AdvancedSslSocketFactory: Creating SSL Socket with remote <MY.TAILNET>.ts.net:443, local null:0, params: org.apache.commons.httpclient.params.HttpConnectionParams@e05850a
12-31 00:31:48.986 14616 14665 D AdvancedSslSocketFactory:  ... with connection timeout 50000 and socket timeout 50000
12-31 00:31:48.991 14616 14665 D TrafficStats: tagSocket(153) with statsTag=0xffffffff, statsUid=-1
12-31 00:31:48.991 14616 14665 I ServerNameIndicator: SSLSocket implementation: org.conscrypt.Java8EngineSocket
12-31 00:31:48.991 14616 14665 I ServerNameIndicator: SNI done, hostname: <MY.TAILNET>.ts.net
12-31 00:31:49.092 14616 14665 W HttpMethodBase: Going to buffer response body of large or unknown size. Using getResponseBodyAsStream instead is recommended.
12-31 00:31:49.092 14616 14665 E GetStatusRemoteOperation: Connection check at https://<MY.TAILNET>.ts.net: The Nextcloud server is not configured!
12-31 00:31:49.092 14616 14665 D GetStatusRemoteOperation: establishing secure connection failed, trying non secure connection
12-31 00:31:49.092 14616 14665 D OwnCloudClient #0: REQUEST GET /status.php
12-31 00:31:49.092 14616 14665 D TrafficStats: tagSocket(81) with statsTag=0xffffffff, statsUid=-1
12-31 00:31:49.106 14616 14665 E GetStatusRemoteOperation: Connection check at http://<MY.TAILNET>.ts.net: Local file does not exist
12-31 00:31:49.106 14616 14665 D OperationsService: Called 1 listeners
12-31 00:31:49.106 14616 14665 D OperationsService: Stopping after command with id 22
12-31 00:33:25.547 14616 14616 I ViewRootImpl@b620148[AuthenticatorActivity]: ViewPostIme pointer 0
12-31 00:33:25.592 14616 14616 I ViewRootImpl@b620148[AuthenticatorActivity]: ViewPostIme pointer 1

Server error logs

<SERVER IP> - - [31/Dec/2022:00:39:55 +1100] "GET /status.php HTTP/1.1" 200 151 "-" "Mozilla/5.0 (Android) Nextcloud-android/20221227"

Additional information

The server is definitely seeing the Android request status.php, though I'm unsure why it's insisting the server isn't configured.

I can get the Android client to work IF I point it directly at the internal (not tailscale) dns name.

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions