Метеор на многосетевом сервере?

У кого-нибудь есть опыт работы с Meteor на многосетевых серверах? Мы запускаем приложение в производство, и у нас есть несколько серверов с двумя сетевыми картами на каждом. Один интерфейс eth0 подключается к нашей внутренней сети с нашим кластером Mongo, а другой интерфейс eth1 подключается к нашей DMZ. Мы хорошо прошли прошлый этап разработки и находимся в стадии разработки. Итак, речь идет о запуске следующей команды только на eth1:

MONGO_URL = 'mongodb: // mongodb: 27017 /? ReplicaSet = meteor' PORT = '80 'ROOT_URL =' http://app.domain.org/'узел main.js

Я не знаю достаточно об узле, чтобы точно знать, как указать один интерфейс. Это указано с переменной среды? В нашем файле / etc / network / interfaces? Iptables? Что-то другое?

Я нахожу в Интернете ресурсы, подобные следующим, но я не уверен, что нахожусь на правильном пути с ними. Требует ли такой суеты получение сервера node.js, работающего на определенном интерфейсе? Есть ли что-то проще?

https://gist.github.com/logicalparadox/2142595
как установить node.js в качестве службы на частном сервере?[не может получить доступ к приложению узла]

Любая помощь приветствуется! Спасибо!
камеристка

2 ответа

Решение

Метеор будет слушать 0.0.0.0 (все интерфейсы), если вы не указали переменную среды BIND_IP,

Явно - значение BIND_IP передается как hostname параметр для http://nodejs.org/api/http.html#http_server_listen_port_hostname_backlog_callback

Источник: https://github.com/meteor/meteor/blob/master/packages/webapp/webapp_server.js#L541

Итак, все работает. Вторая сетевая карта не была настроена.

sudo nano /etc/network/interfaces    
  auto eth0
  iface eth0 inet static
      address aaa.bbb.ccc.ddd
      gateway aaa.bbb.ccc.eee

  auto eth1
  iface eth1 inet static
      address aaa.bbb.ccc.fff
      gateway aaa.bbb.ccc.ggg

sudo ifconfig eth1 up
sudo /etc/init.d/networking restart

Тогда нужно было убедиться, что брандмауэры работают...

sudo iptables -A INPUT -m conntrack --ctstate ESTABLISHED,RELATED -j ACCEPT
sudo iptables -A INPUT -p tcp --dport ssh -j ACCEPT
sudo iptables -A INPUT -p tcp --dport 80 -j ACCEPT
sudo iptables -A INPUT -p tcp --dport 443 -j ACCEPT    
sudo iptables -L -n -v

Затем подтвердил, что сайт работает на правильном IP-адресе с большим...

curl -XGET http://aaa.bbb.ccc.fff/main.js
Другие вопросы по тегам