How to bind meteor to ipv6 - meteor

I'm using MeteorJs 1.4.3. It seems to run command bind http server to ipv4.
How I can start meteor on ipv6 80 port? Which argument or option should I pass to CLI?

Set environment variable BIND_IP to ::.

Related

How to get Meteor server to listen on Unix domain socket?

My Meteor server needs to run behind an NGINX proxy which receives HTTP requests, adds the Kerberos-authenticated user name to the header and forwards them to another webserver (assumed to be NodeJS) over a Unix domain socket which is accessed through a file secured by Unix permissions.
I would like to use Meteor instead of NodeJS, but the only way I can get Meteor to listen on a Unix domain socket is to hack a file called run-proxy.js deep inside my Meteor installation and modify a call to server.listen(...) to pass it a file name instead of a port number.
This works, but is there a better way to achieve this? Ideally without modifying Meteor's code. I did try meteor --port /home/me/file_name but it complains that there is no port number.

Start Meteor server and let other computers access it

In Rails or Django, you can allow other devices to access your server by specifying the server address as 0.0.0.0 instead of localhost:3000. How can you do the same in Meteor?
You can specify the interface and port using the command meteor --port host:port
In your case it would be meteor --port 0.0.0.0:3000.
Type meteor --help to see all tasks. The default task is run. meteor help run will show all options.

Meteor 0.9.2 remote connection issue

Not sure if it's just a coincidence or a bug but after updating to 0.9.2 I lost my remote connections to any of my Meteor apps. localhost:3000 works fine but remote access to host:3000 or any other port I try cannot connect.
I had exactly the same symptoms with the new Meteor (0.9.2.1), I was able to connect fine on my development server using localhost:3000, but I received an error when attempting to connect to that server using the NETBIOS name (which I have been doing successfully since Blaze). Example URL:
v-as-nodejs:3000
This worked fine before but does not with the latest Meteor.
I was also able to overcome this issue by specifying an IP address and port explicitly in the Meteor server startup command:
meteor --port 192.168.1.108:3000
What is interesting is that it seems as long as the IP address in the --port parameter matches the private network address of the server, you can still connect to your server using a logical name. In my case, my server is in a DMZ on my private network, and I can use the public domain name to get to the server. I can also use the server's NETBIOS name, both work fine.
I don't fully understand why this would work unless node.js or Meteor is doing some internal comparison. It is certain though that this is a matter of either the Meteor upgrade or the Node.js upgrade.
Use --port:host:port
example: meteor run --port:192.168.168.164:6969
Binding to a specific IP seems to solve the problem:
meteor run -p 192.168.2.3:8080

how can I troubleshoot meteor just hanging?

Hi I am trying out meteor for first time today.
my symptoms: meteor just hangs when trying to connect to port 3000 (it is listening, checked with lsof and looking at ps) a mongo instance is started on port 3002 but i can not connect to it with mongo (so perhaps neither can node ?)
background: I do already have mongo 2.0.3 installed and running (can it be a conflict?)
What can I do to troubleshoot and get meteor started ?
Site was bugging me to accept an answer or start a bounty...So here is explanation of my comment:
localhost on my machine resolves to ipv6 address first and meteor
binds only to 127.0.0.1.
So to answer the specific question of "how to troubleshoot":
I used lsof -i to verify that the meteor mongo instance was actually listening. This showed me that is was listening on 127.0.0.1. This eliminated the concept of mongo not listening. next i did host my machine's name and noticed the ipv6 came back first. this sparked a hunch and led me to force meteor to connect to 127.0.0.1 instead of localhost and it worked.
Well, check that port 3000 is open netstat -a
try a telnet localhost 3000
Use firefox extension TamperData or any other flow analysis tools to see what's going on at the HTTP level http://tamperdata.mozdev.org/
Have you tried to run against the bundled node and mongodb ?

How to run meteor server on a different ip address?

How can i start meteor server on a different IP address? Currently in the examples am only able to run on a localhost:3000 address.
export BIND_IP no longer works, bind IP is defined with --port (or -p or --app-port) option(s):
$ meteor run --port 127.0.0.1:3000
Reference: https://github.com/meteor/meteor/commit/9b8bd31a7b6c857e5d8fc0393982e6e6b2973eb0
If you are looking to run something on another IP address (but still have the files local) you need to look into editing your vhosts file. If you are on a mac, look into Virtual Host X
The proper way to change ports with meteor is this:
meteorapp : meteor --port 5000
According to this change, you should be able to configure your app to bind to a specific IP address by configuring a BIND_IP environment variable.
export BIND_IP=127.0.0.1
You may need to update your app to a newer version of Meteor for this to work correctly.
Using Meteor 1.3.2.4, If your IP is 192.168.0.13 as in my case, on the terminal, type:
meteor --mobile-server 192.168.0.13
or
meteor --port 192.168.0.13:3000
And you will see the Meteor welcome page by typing
http://192.168.0.13:3000
on your browser.
At the moment, you can't - meteor binds to all IP addresses, but there's an issue open to add support for binding to a specific IP.
Deploy it on another server and connect to the internet-ip of the server from outside of the internal net, or connect to the local-ip of the server from the lan.
How to deploy on another server?
'meteor bundle'
and read the README
This isn't possible yet, but there is an open pull request for it. They are waiting for the author to sign the meteor contributor agreement before it can be accepted.
https://github.com/meteor/meteor/pull/469/
If you need it before it's official you can apply the patch yourself (or potentially just replace 127.0.0.1 with the IP address you want to bind to in the same files references by the patch (app/lib/mongo_runner.js and app/meteor/run.js).
Actually, Meteor behaves differently in production and development environments.
Production
Use environment variable BIND_IP
Development
Use --port argument like meteor run --port 192.168.1.1:port
Docs here
According to netstat -tapn Meteor/Node.js listens on all available IP addresses on the machine:
tcp 0 0 0.0.0.0:3000 0.0.0.0:* LISTEN 9098/node
Do you have something like iptables running?

Resources