# Android APP stuck in Connecting .... seconds

**URL:** <https://forums.rocket.chat/t/android-app-stuck-in-connecting-seconds/1956>\
**Category:** Mobile Apps\
**Created:** [September 4, 2018, 2:03pm UTC](https://forums.rocket.chat/t/android-app-stuck-in-connecting-seconds/1956 "2018-09-04T14:03:26Z")\
**Posts on this page:** 14\
**Page:** 1

<div class="post-metadata">

**Author:** ![mtcoliveira](https://avatars.discourse-cdn.com/v4/letter/m/8baadc/32.png) [@mtcoliveira](https://forums.rocket.chat/u/mtcoliveira)\
**Post date:** [September 4, 2018, 2:03pm UTC](https://forums.rocket.chat/t/android-app-stuck-in-connecting-seconds/1956/1 "2018-09-04T14:03:27Z")

</div>

Hello,

OS: CentOS 7  
Nginx 1.12.2  
Node: v8.11.3  
RocketChat: 0.69.1  
RocketChat Android App: 2.5.1 Build 2036  
SSL Cert from Let´s Encrypt

After all set, i cannot view the Chats in Android APP. My system is fully operational via web. I have already done a long search on the internet and in the forum. I saw that there are some mentions regarding the configuration of the websocks, but I’m using nginx.

**Here are my service config file in /etc/systemd/system/rocketchat.service:**

[Unit]  
Description=Rocket.Chat server  
After=network.target nss-lookup.target mongod.target

[Service]  
StandardOutput=syslog  
StandardError=syslog  
SyslogIdentifier=rocketchat  
User=rocket  
Environment=MONGO\_URL=mongodb://localhost:27017/rocketchat ROOT\_URL=https://nexxus.nuvem.top PORT=3000 DDP\_DEFAULT\_CONNECTION\_URL=https://nexxus.nuvem.top  
ExecStart=/usr/local/bin/node /opt/rocket/Rocket.Chat/main.js

[Install]  
WantedBy=multi-user.target

**Here are my /etc/nginx/conf.d/default.conf:**

upstream backend {  
server 127.0.0.1:3000;  
}

server {  
listen 443;  
server\_name nexxus.nuvem.top;

```
ssl on;
ssl_certificate /etc/letsencrypt/live/nexxus.nuvem.top/fullchain.pem;
ssl_certificate_key /etc/letsencrypt/live/nexxus.nuvem.top/privkey.pem;
ssl_protocols TLSv1 TLSv1.1 TLSv1.2;

error_log /var/log/nginx/nexxus.nuvem.top-error.log;

location / {
    proxy_pass http://backend/;
    proxy_http_version 1.1;
    proxy_set_header Upgrade $http_upgrade;
    proxy_set_header Connection "upgrade";
    proxy_set_header Host $http_host;

    proxy_set_header X-Real-IP $remote_addr;
    proxy_set_header X-Forward-For $proxy_add_x_forwarded_for;
    proxy_set_header X-Forward-Proto http;
    proxy_set_header X-Nginx-Proxy true;

    proxy_redirect off;
}

```

}

**From time to time the following error appears in the nginx logs:**

[error] 1091#0: \*1 connect() failed (111: Connection refused) whlie connecting to upstrem, client: 192.168.101.31, server: nexxus.nuvem.top, request: “GET /sockjs/info?cb=dx23dfasdf HTTP/1.1”, upstream: [http://192.168.101.10:3000/sockjs/info?cb=dx23dfasdf](http://192.168.101.10:3000/sockjs/info?cb=dx23dfasdf)", host: “nexxus.nuvem.top”, referrer: “[https://nexxus.nuvem.top/home](https://nexxus.nuvem.top/home)”

---

<div class="post-metadata">

**Author:** ![aaron.ogle](https://sea1.discourse-cdn.com/flex021/user_avatar/forums.rocket.chat/aaron.ogle/32/15_2.png) [@aaron.ogle](https://forums.rocket.chat/u/aaron.ogle)\
**Post date:** [September 4, 2018, 9:41pm UTC](https://forums.rocket.chat/t/android-app-stuck-in-connecting-seconds/1956/2 "2018-09-04T21:41:40Z")

</div>

The error your seeing in the logs looks like errors coming from web client.

Can you check your connection log in your browser console? From there look and see if a websocket connection is being made.

To bring that up right click and inspect page, then go to the network tab. Once that’s open reload the page.

---

<div class="post-metadata">

**Author:** ![mtcoliveira](https://avatars.discourse-cdn.com/v4/letter/m/8baadc/32.png) [@mtcoliveira](https://forums.rocket.chat/u/mtcoliveira)\
**Post date:** [September 4, 2018, 9:45pm UTC](https://forums.rocket.chat/t/android-app-stuck-in-connecting-seconds/1956/3 "2018-09-04T21:45:30Z")

</div>

![image](https://us1.discourse-cdn.com/flex021/uploads/rocketchat/original/1X/311f7d3f7e347357377ba7307753b5f718a951ec.png)

---

<div class="post-metadata">

**Author:** ![aaron.ogle](https://sea1.discourse-cdn.com/flex021/user_avatar/forums.rocket.chat/aaron.ogle/32/15_2.png) [@aaron.ogle](https://forums.rocket.chat/u/aaron.ogle)\
**Post date:** [September 5, 2018, 8:50pm UTC](https://forums.rocket.chat/t/android-app-stuck-in-connecting-seconds/1956/4 "2018-09-05T20:50:04Z")

</div>

Can you switch to the console tab and paste:

`new WebSocket('wss://{your server}/websocket');`

of course replacing `{your server}` with your servers hostname.

Let me know what it spits out.

---

<div class="post-metadata">

**Author:** ![mtcoliveira](https://avatars.discourse-cdn.com/v4/letter/m/8baadc/32.png) [@mtcoliveira](https://forums.rocket.chat/u/mtcoliveira)\
**Post date:** [September 5, 2018, 9:21pm UTC](https://forums.rocket.chat/t/android-app-stuck-in-connecting-seconds/1956/5 "2018-09-05T21:21:33Z")

</div>

> new WebSocket(‘wss://nexxus.nuvem.top/websocket’);
> 
> WebSocket {url: “wss://nexxus.nuvem.top/websocket”, readyState: 0, bufferedAmount: 0, onopen: null, onerror: null, …}
> 
> binaryType:“blob”  
> bufferedAmount:0  
> extensions:“permessage-deflate”  
> onclose:null  
> onerror:null  
> onmessage:null  
> onopen:null  
> protocol:“”  
> readyState:1  
> url:“wss://nexxus.nuvem.top/websocket”  
> **proto** :WebSocket

---

<div class="post-metadata">

**Author:** ![mtcoliveira](https://avatars.discourse-cdn.com/v4/letter/m/8baadc/32.png) [@mtcoliveira](https://forums.rocket.chat/u/mtcoliveira)\
**Post date:** [September 10, 2018, 1:22pm UTC](https://forums.rocket.chat/t/android-app-stuck-in-connecting-seconds/1956/6 "2018-09-10T13:22:23Z")

</div>

Can someone help me?

---

<div class="post-metadata">

**Author:** ![aaron.ogle](https://sea1.discourse-cdn.com/flex021/user_avatar/forums.rocket.chat/aaron.ogle/32/15_2.png) [@aaron.ogle](https://forums.rocket.chat/u/aaron.ogle)\
**Post date:** [September 11, 2018, 4:25am UTC](https://forums.rocket.chat/t/android-app-stuck-in-connecting-seconds/1956/7 "2018-09-11T04:25:13Z")

</div>

Can’t tell from this exactly whats happening try:

sock = new WebSocket(‘wss://nexxus.nuvem.top/websocket’); sock.onerror = function(err) { console.log(err); };

That should log an error then if there is one. Give it a few minutes.

---

<div class="post-metadata">

**Author:** ![mtcoliveira](https://avatars.discourse-cdn.com/v4/letter/m/8baadc/32.png) [@mtcoliveira](https://forums.rocket.chat/u/mtcoliveira)\
**Post date:** [September 11, 2018, 10:39am UTC](https://forums.rocket.chat/t/android-app-stuck-in-connecting-seconds/1956/8 "2018-09-11T10:39:20Z")

</div>

Uncaught SyntaxError: Invalid or unexpected token

---

<div class="post-metadata">

**Author:** ![aaron.ogle](https://sea1.discourse-cdn.com/flex021/user_avatar/forums.rocket.chat/aaron.ogle/32/15_2.png) [@aaron.ogle](https://forums.rocket.chat/u/aaron.ogle)\
**Post date:** [September 11, 2018, 5:15pm UTC](https://forums.rocket.chat/t/android-app-stuck-in-connecting-seconds/1956/9 "2018-09-11T17:15:34Z")

</div>

> [@mtcoliveira](#):
>
> Uncaught SyntaxError: Invalid or unexpected token

Ah sorry… typed it from memory. Forgot sock is likely reserved.

```auto
var websock = new WebSocket('wss://{your server}/websocket'); websock.onerror = function(err) { console.log(err); }

```

```auto

```

---

<div class="post-metadata">

**Author:** ![mtcoliveira](https://avatars.discourse-cdn.com/v4/letter/m/8baadc/32.png) [@mtcoliveira](https://forums.rocket.chat/u/mtcoliveira)\
**Post date:** [September 11, 2018, 5:25pm UTC](https://forums.rocket.chat/t/android-app-stuck-in-connecting-seconds/1956/10 "2018-09-11T17:25:00Z")

</div>

![image](https://us1.discourse-cdn.com/flex021/uploads/rocketchat/original/1X/768898cf062afde7019ec0098385311fd2c8d19c.png)

---

<div class="post-metadata">

**Author:** ![aaron.ogle](https://sea1.discourse-cdn.com/flex021/user_avatar/forums.rocket.chat/aaron.ogle/32/15_2.png) [@aaron.ogle](https://forums.rocket.chat/u/aaron.ogle)\
**Post date:** [September 11, 2018, 5:34pm UTC](https://forums.rocket.chat/t/android-app-stuck-in-connecting-seconds/1956/11 "2018-09-11T17:34:47Z")

</div>

What about the output of:  
`export HOST={your host here} && curl -i -N -H "Connection: Upgrade" -H "Upgrade: websocket" -H "Host: $HOST" -H "Origin: $HOST" -H "Sec-WebSocket-Key: fVXESE8fjBMx8HheW0YlZQ==" -H "Sec-WebSocket-Version: 13" https://$HOST/websocket`

---

<div class="post-metadata">

**Author:** ![robbyoconnor](https://sea1.discourse-cdn.com/flex021/user_avatar/forums.rocket.chat/robbyoconnor/32/41_2.png) [@robbyoconnor](https://forums.rocket.chat/u/robbyoconnor)\
**Post date:** [September 11, 2018, 6:42pm UTC](https://forums.rocket.chat/t/android-app-stuck-in-connecting-seconds/1956/13 "2018-09-11T18:42:41Z")

</div>

Okay – I tested his config with curl – and it worked – HOWEVER it seems to be failing – he’s using verbatim the working config from my server – and it should work…but it’s not…not sure what’s up

---

<div class="post-metadata">

**Author:** ![aaron.ogle](https://sea1.discourse-cdn.com/flex021/user_avatar/forums.rocket.chat/aaron.ogle/32/15_2.png) [@aaron.ogle](https://forums.rocket.chat/u/aaron.ogle)\
**Post date:** [September 11, 2018, 6:45pm UTC](https://forums.rocket.chat/t/android-app-stuck-in-connecting-seconds/1956/14 "2018-09-11T18:45:45Z")

</div>

~~OK this is good! Lets see if the mobile team has any ideas, it could be on that end now that we know everything with your websocket is good~~ looks like websocket connections are actually returning 400 bad request.

After some discussion on [#support](https://open.rocket.chat/channel/support) all is resolved. Seems double reverse proxy due to a network device

---

<div class="post-metadata">

**Author:** ![mtcoliveira](https://avatars.discourse-cdn.com/v4/letter/m/8baadc/32.png) [@mtcoliveira](https://forums.rocket.chat/u/mtcoliveira)\
**Post date:** [September 11, 2018, 7:06pm UTC](https://forums.rocket.chat/t/android-app-stuck-in-connecting-seconds/1956/15 "2018-09-11T19:06:35Z")

</div>

In the end the problem was with my Firewall / UTM.  
I needed to enable WebSocket passthrough and it was disabled.
