[SOLVED] Android App connect to Mattermost team link

Please try the following troubleshooting procedure: https://docs.mattermost.com/deployment/push.html#troubleshooting-mobile-applications

Hi.
Same situation than @zdvx zdvx, the workaround provided by @tom.truitt tom.truitt did not work for me :sob:
Thanks.
David.

I think I might see the same problem.
I have first reported and documented my issue here: https://github.com/mattermost/platform/issues/4332 where user @jasonblais told me to post in this forum instead.

I am running gitlab and mattermost installed and configured as one with gitlab-omnibus on a single server with a single private IP-address with both the applications on different ports (gitlab 443 & mattermost 8443). After a bit of fiddling with the certificates I managed to make mattermost trust gitlab and can use both the applications in browsers and also the mattermost applications for windows & linux, but the android app will always show me this error:

We could not connect to the Mattermost server or the server is running an incompatible version.

From reading the posts above this issue seems to be caused by the self signed certificate - user @januzi suggested importing the local CA used to sign the certificate (that needed to be imported into the servers trust store to make mattermost trust gitlab for authentication) also somewhere into the Android phone might help circumvent the issue - @januzi - Did you try it? Did it work? Do you have a link explaining how to do such a thing?

Anybody has any hints for me what I could try to workaround this problem? :smiley:

Hi @kaefert - maybe try step 8 in this documentation to check your SSL setup?

@lfbrock the documentation link you posted gives me an access denied error xml.

But my SSL setup can never be fully valid since the server only has a private IP-address and no DNS-entry that clients know about. I want users to be able to use this Server simply by using the bookmarked IP-Address.

Hmm sorry, looks like the doc got renamed, hereā€™s the link: https://docs.mattermost.com/install/prod-ubuntu-16.04.html#set-up-nginx-with-ssl-recommended

Typically when we see this problem, people donā€™t have all the intermediate certs included. For your situation Iā€™m not sure, maybe someone else has ideas.

Hello,

Iā€™m also suffering this issue, and none of the issues here currently solve the problem.

Iā€™ve setup a Mattermost Team edition v 3.8.2 via Bitnami on Google Cloud platform and got SSL working via LetsEncrypt. Iā€™m able to connect to my instance via the Mattermost OS X app and iOS app, but the Android app (both 2016 and 2017 beta).

The messages are:
Beta app:
Cannot connect to the server. Please check your server URL and internet connection.
2016 app:
Mattermost server unreachable, incompatible or SSL is not properly configured.

Thanks,
~Stephen

Update: I missed this suggestion in the thread. This solved my problem:

TL;DR: Added fullchain.pem to my /certs/ folder and updated the mattermost.conf file to point at it.

I have been struggling to get Letsencrypt to work for SSL using the android client. Like many of the users on this thread. The browser works fine with my nginx reverse proxy and docker-compose build. I finally found the solution in the letsencrypt readme generated by certbot.

privkey.pem : the private key for your certificate.
fullchain.pem: the certificate file used in most server software.
chain.pem : used for OCSP stapling in Nginx >=1.3.7.
cert.pem : will break many server configurations, and should not be used
without reading further documentation (see link below).

to solve the issue simply

  • mv cert.pem to cert.pem.bak
  • mv fullchain.pem to cert.pem

This solved my problem. Now the client and the browser work.

Hope this helps someone.

Thank you for posting back your solution @circleback, appreciated!

@circleback Do not mv the files that Letā€™s Encrypt creates, besides the fact that thatā€™s a kludge, theyā€™ll only get replaced the next time your cert is updated. Edit your nginx config to reference the fullchain.pem file instead.