Websocket over proxy and firewall

#1

Hi,

We are using autobahn android library in android app. Some of our customer has complained that the android app is not working. We are suspecting that the problem is due to proxy/firewall in their network. We checked with some of our customer and we have seen that they are using app in wifi network which is under firewall or proxy.

We have seen two types of request:

  1. Websocket request is not having “Upgrade:websocket” in their http header. These request is failing with 404 http error.
  2. Websocket request is having “Upgrade:websocket” returned with 101 http response but still we are not getting any request from client. It seems connection is not working.
    Please suggest what could be possible reason for the above issue and how could we avoid. I think we need to have fallback to http in first case but how can we decide fallback for second case. Please help.

Thanks,
Abhishek

0 Likes

#2

Most likely, there is some kind of proxy or firewall disrupting the connection.

In principle, the way to overcome this, is to use secure WebSocket (which runs TLS intermediaries - usually - are unable to intercept or disturb).

Unfortunately, AutobahnAndroid does not support WSS … haven’t got time to do it and it’s low prio (compared to other stuff) for us.

···

Am Donnerstag, 20. November 2014 12:34:42 UTC+1 schrieb abhishek jain:

Hi,

We are using autobahn android library in android app. Some of our customer has complained that the android app is not working. We are suspecting that the problem is due to proxy/firewall in their network. We checked with some of our customer and we have seen that they are using app in wifi network which is under firewall or proxy.

We have seen two types of request:

  1. Websocket request is not having “Upgrade:websocket” in their http header. These request is failing with 404 http error.
  2. Websocket request is having “Upgrade:websocket” returned with 101 http response but still we are not getting any request from client. It seems connection is not working.
    Please suggest what could be possible reason for the above issue and how could we avoid. I think we need to have fallback to http in first case but how can we decide fallback for second case. Please help.

Thanks,
Abhishek

0 Likes