Closed suquant closed 11 years ago
Static files works exccelent in https://example.com/st/jquery.js for example :) When i open https://example.com:8080/echo/ tornado print "404: Not Found" but when i request https://example.com:8080/socket.io/1/ printed "3fa3901358f37e091ae402455aa52a39:17:25:websocket,flashsocket,xhr-polling,jsonp-polling,htmlfile" in Safari
i have standart settings that my endoint name socket.io< and also when i requested https://example.com:8080/socket.io/ server printe "404: Not Found"
you can see this error in "https:// guesscards [dot] com" when you open developer console in Safari ;)
What do you mean in 1 point? Can you write mini tutrial how do this? :)
Thanks in advance.
Not sure what can cause it, because it is browser issue.
Overall, I never had this problem in Safari, so can't say anything for sure.
We strongly need ssl connection. Nginx tcp proxy moduel supported SSL (https://github.com/yaoweibin/nginx_tcp_proxy_module/tree/master/doc#ngx_tcp_ssl_module)
I thinks this cause that self-signed certificate, but in this time i do not have signed certificate to test it :(
OK, here's small update:
According to https://github.com/igrigorik/em-websocket - "Safari 5 does not currently support prompting on untrusted SSL certificates therefore using signed certificates is highly recommended."
So, it means you can't use websocket transport with SSL enabled on Safari with self-signed certificate. Socket.IO can't fallback to the polling transport for whatever reason and connection can not be established.
Take a look at sockjs-tornado, http://github.com/mrjoes/sockjs-tornado/ - it is websocket polyfill, so has somewhat simpler API. But it will fallback to polling transport in this case.
Thanks mrjoes.
I was complicated this fact. After developed first version we buy signed certificat and Safari was worjing correctly :) Pretty fact - socket.io automaticlly switch to xhr-pooling in Safari :)
I have a signed certificat, "PositiveSSL CA 2" and every 5-6 days clients (safari) trying to connect to my Node App give the same error that the certificate is untrusted. A simple restart of the node app fixes that.
Does anyone have an idea if that's a problem of safari or a problem of the type of certificate?
So I also had the same problem (node app, nginx, ssl, socket.io) and I also discovered, that with Safari socket.io fell back to XHR (which took nearly 10 seconds). Chrome, Firefox worked fine. The reason was, that I had a self signed certificate. After getting an official certificate, everything worked fine!
For example whe have:
In Safari when js connect to the server on host wss://example.com:8080/socket.io/1/websocket/121a6ae3852addac4c159379a585a27a that return error "WebSocket network error: OSStatus Error -9807: Invalid certificate chain"
but in Chrom, Firefox working correctly.
My server config: Nginx
example.com
example.com:8080
Thanks.