Well this isn’t really a Meteor.JS issue or that Meteor is at fault. But there is an known issue with HTML5 web sockets, proxy servers and firewalls.
Unencrypted WebSocket Connections and Transparent Proxy Servers
In case the unencrypted WebSocket traffic flows through a transparent proxy on its way to the WebSocket server, the connection is likely to fail in practice, since the browser does not issue the CONNECT method in this case. When a proxy server forwards a request to the (WebSocket) server, it is expected to strip off certain headers, including the Connection header. Therefore, a well-behaved transparent proxy server will cause the WebSocket upgrade handshake to fail almost immediately.
The Issue (ISP’s)
My current internet provider (ISP) BezeqInt which is one of the biggest ISP’s in Israel forces a transparent proxy on all their users’ outgoing connections. This is also the case for Pelephone ISP in Israel. Meaning any Meteor App that is targeting Israel would have major issues. Not to mention any other ISP’s that use transparent proxies.
Proxy Providers / Chrome Extensions
I also have Media Hint installed as a Chrome Extension, Media Hint is content unblocking extension for Chrome it basically use a proxy server to let me view sites that are blocked like NBC or ABC.
Due to the extension and my ISP provider forcing a transparent proxy, a number of Meteor sites don’t work. For examples:
The only way to really fix this issue is using SSL for all your Meteor Apps. Considering that you have no idea which user is using a proxy, extension or where they work at is running their internet connection thur some kind firewall or transparent proxy, like my ISP provider.
Meteorpedia working when using SSL
Looking to hire a developer for your project, I love creating applications that are engaging and usable and believe simplicity combined with a custom innovative approach to each project is the key to a successful experience. Check out my portfolio at Almog Development Studio or why you should develop your startup MVP with me.