iOS Rocket.Chat+ app won't connect, but Android is fine

Hello all,

After a bit of help please. We’ve recently setup Rocket.Chat (0.61.0) via Docker on a Windows Server 2016 machine - using IIS to reverse proxy (websockets are enabled, and we’re using ARR 3.0).

We have a LetsEncrypt certificate on the server, and everything is working fine on all browsers that I’ve tested, and also the Android version of the Rocket.Chat+ app. I can see from the Chrome debugger that websockets seem to be working OK (no errors).

However, the iOS version of Rocket.Chat+ (tested on two devices) always reports “Could not connect to this server”.

If on the same device, I open the Url in Safari browser, everything works fine. Also, the old Cordova Rocket.Chat app works OK.

If I look in the IIS logs, I’m getting something like this when I attempt to connect:

  • GET /api/v1/info 443 - {device IP} HTTP/2.0 Rocket.Chat/137+CFNetwork/893.14.2+Darwin/17.3.0 - 127.0.0.1:3000 200 0 0 91
  • GET /websocket 443 - {device IP} HTTP/1.1 - - 127.0.0.1:3000 502 5 12152 90

It seems the second GET request is causing a 502 status code.

Is there some way to run the iOS app in debug mode so I can see what’s going on?

Related question - is the Rocket.Chat+ app likely to support SAML single sign-on at some point?

Thanks!

Steve.

I managed to fix this myself after playing with it all day.

TL;DR … although it looked like websocket connections were being proxied correctly by IIS, they in fact weren’t working (being closed immediately). It was to do with not supporting compression, so I had to add a server variable to the rewrite request that set HTTP_SEC_WEBSOCKET_EXTENSIONS to “”

Now I can use the iOS app :smiley: Just waiting for that SAML support…

If anyone wants any tips on how to get this working using Docker on Windows Server, then I’m here…

1 Like

Glad you got it! I’m not too familiar with IIS. But my guess would have been related to websocket proxy. :slight_smile:

If you have tips and feel like writing a bit. We definitely accept PRs to our docs repo: GitHub - RocketChat/docs: The Rocket.Chat server, desktop, mobile, user, admin & developer documentation.

Docker on windows sounds like an excellent way to recommend installing Rocket.Chat when windows is a requirement.

@steve.smith I’d definitely be interested in picking your brain about installing on Windows Server 2016 more generally (I wasn’t sure of how to send a direct message on these forums).
I’d also give a +1 vote for you to contribute to the documentation repo, if you had the time/inclination. :grinning:

Hello,

I ended up writing a quick blog post about it:

We still have it up and running, and I managed to upgrade it to the latest version the other day (https://umbracotips.blogspot.com/2018/05/upgrading-rocketchat-in-docker-container.html).

We’re still really only testing it at the moment, but it seems fairly stable.

Steve.

3 Likes

Amazing! Thanks for being so thorough - I’ll hopefully be able to take a look at implementing this in the next few weeks.

Hi Steve - just wondering if you might be able to share your docker-compose file for this setup?
I’m new to all this, and am hitting a bit of a wall.

Cheers

I think its the standard one (I don’t remember changing anything)

db:
image: mongo:3.0
command: mongod --smallfiles --oplogSize 128

rocketchat:
image: rocketchat/rocket.chat:latest
environment:
- PORT=3000
- ROOT_URL=http://docker:3000
- MONGO_URL=mongodb://db:27017/rocketchat
links:
- db:db
ports:
- 3000:3000

can u post your iis web.config file , i am not config correct too.
this is my