Задать вопрос

Не коннектится к сайту через ip компьютера к сети?

Добрый день.
Подскажите, пожалуйста, что надо сделать, как решить нижеследующую проблему?

Сказу прошу прощения, так как новичок в этом, поэтому термины могут путаться в моем пояснении, а может и вопрос глупейший. Но ответа так и не нашел пока.

На виртуальной машине у провайдера установил ОС ubuntu amd64. Настроил Ruby on Rails и создал тестовое приложение (rails new test).
Запустил тестовое приложение командной: rails s -d.
Но по ip адресу машины из дома не могу подключиться к сайту.

Так как GUI нет (доступ из командной строки только к машине), то запустил на виртуальной машине команды: curl 127.0.0.1:3000 - получил страницу.
Команды: curl localhost:3000 и curl 0.0.0.0:3000 тоже проходят - получаю страницу тестового запущенного приложения.

Запускаю curl 182.8.8.8:3000 (ip адрес машины) и получаю ошибку:
curl: (7) Failed connect to localhost 182.8.8.8 port 3000: Connection refused

То есть получается веб сервер Webrick принимает соединения от localhost, а нужно 182.8.8.8.
Подскажите, пожалуйста, куда копать, что и исправить?

Добавлено:
Делал еще правила для firewall:
iptables -A INPUT -p tcp -m tcp --sport 80 -j ACCEPT
iptables -A OUTPUT -p tcp -m tcp --dport 80 -j ACCEPT

Возможно не очень правильно сделал, но так понял из документации iptables.
  • Вопрос задан
  • 492 просмотра
Подписаться 1 Оценить 1 комментарий
Решения вопроса 2
@yueeucrl
пробуй rails s -b 0.0.0.0
Ответ написан
BuriK666
@BuriK666
Компьютерный псих
смотрите правила iptables
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
2ord
@2ord
Если нужно через интернет подключиться к удалённой машине, на которой запущен веб-сервер, то существуют 2 варианта: один подходит для режима продакшн (RAILS_ENV=production), другой - для разработки (RAILS_ENV=development). Оба варианта предполагают, что веб-приложение было предварительно отлажено или хотя-бы способно запускаться без ошибок. Для разработки они не подходят.

1. Допустим, нужно во время разработки быстро показать предварительные результаты работы сайта.
Тогда проще всего использовать сервис ngrok.
Для Убунту нужно установить пакет ngrok-client. Версия пакета для Убунту 14.04 установилась у меня без проблем и на более ранней, 12.04.
Запустив веб-сервер (порт 3000 для Webrick), следом запускать команду
ngrok 3000
которая запустится в режиме вывода в stdout. Прервать сессию можно при помощи Ctrl-C.
При запуске покажет URL, по которому можно получить доступ к локальной машине. Что-то типа
3e7ddc7.ngrok.com

Проверять любым HTTP клиентом так:
С удалённой машины через веб-браузер или в командной строке
curl -i http://3e7ddc7.ngrok.com

Но ради безопасности хоста сервера я бы не стал оставлять сессию ngrok надолго.

2. Когда всё отлажено и поставлено на поток, нужно интегрировать приложение на сервер. Обычно используются nginx/Apache в качестве фронта + Unicorn/Passenger в качестве бэкенда.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы