Native Mobile App DDP.connect error to the remote meteor server after 1.4 upgrade

Hello,

I recently upgraded meteor for web/server application from 1.1.0.3 to 1.4.4.1 to use ReactJS and React Router instead of Blaze and Iron Router.

Everything worked like a charm until I deployed it to the remote server on AWS.
The web app still works fine, but there is a 404 error when I try DDP.connect from the Android Native App.

The current server has nodejs 4.8.* version and I am not using NGINX proxy at the moment, but instead, direct the request to meteor service port from ELB.

Android app makes DDP connection using the following format: wss://{mobile.myapp.com}/websocket

I noticed that the older version (1.1.0.3) has a different internal ddp / websocket modules from the latest version. Could this make this difference?

Or is there I have forgotten to add / remove?

I also tried the followings as well without success:

  • set release to 1.3.* version,
  • direct from ELB to NGINX, then redirect to Meteor service (same error)
  • tried ‘meteor npm rebuild’ in the deployment shell script
  • tried each or both:
    meteor run android-device --mobile-server=localhost:80XX
    meteor --mobile-server IP:PORT --port 80XX
  • tried each or both:
    export DISABLE_WEBSOCKETS=1
    export DDP_DEFAULT_CONNECTION_URL=“https://mobile.myapp.com

It is really frustrating to have struggled with meteor over a year. I feel like I have spent more time trying to find workarounds on issues rather than learning its system properly.
Any advice or opinion, suggestion, … anything will be much appreciated.
Thank you.