I think I've found the cause of the problem.

Watching the packets, everything was coming in over https except the web 
socket data which came in on port 80.

In WebSocketClient, in _connect the code says 

                             onPort:  (UInt16)(url.port ?url.port.intValue 
: 80)
which I think is defaulting it to port 80 if a port isn't specified.

Secondly, the URL is tested to determine whether to use TLS or not

    if (_tlsSettings || [url.scheme caseInsensitiveCompare: @"https"] == 0) 
{

So my URL of https://my.server.com/my-database

is going to port 80, but with TLS enabled.      I need it to go to port 443 
with TLS disabled.

I hardcoded 443 and TLS disabled and it now works perfectly with websockets 
 through HAProxy.  I swapped back to nginx and that worked fine too.

I've updated the ticket with these findings.  Let me know what you think.

Marcus

-- 
You received this message because you are subscribed to the Google Groups 
"Couchbase Mobile" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
To view this discussion on the web visit 
https://groups.google.com/d/msgid/mobile-couchbase/a845c1d1-736a-4f39-a44b-87eba7f8a7ce%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

Reply via email to