Доступ к WEBrick с другого компьютера - PullRequest
8 голосов
/ 28 ноября 2010

Я использовал:

rails s 

run webrick on 0.0.0.0:3000

Но я не смог получить доступ к веб-приложению с другого компьютера.

Как мне добиться этого в Rails 3?

Ответы [ 5 ]

14 голосов
/ 28 ноября 2010

IP-адрес привязки по умолчанию - 0.0.0.0, поэтому проблема заключается в том, что брандмауэр блокирует этот порт. Попробуйте использовать rails s -b IP_ADDRESS -p PORT, чтобы убедиться, что проблема с брандмауэром.

Btw. Linux, Osx, Windows?

5 голосов
/ 28 ноября 2010

(извините, я не могу ответить: ()

"IP-адрес привязки по умолчанию - 0.0.0.0, который не может быть достигнут с другого компьютера, так как это не маршрутизируемый адрес."

Извините, но это не так. Здесь 0.0.0.0 означает INADDR_ANY, поэтому он связывается со всеми интерфейсами ...

5 голосов
/ 28 ноября 2010

Нукк понял это правильно. Вы должны иметь возможность доступа к веб-сайту через ваш IP-адрес, но, насколько я понимаю, вы пытаетесь получить доступ к нему через 0.0.0.0 (я ошибался, думая, что это нулевой адрес, мой плохой), поскольку Nucc правильно утверждает, что 0.0.0.0 сопоставляется INADDR_ANY, поэтому будет отображаться на всех ваших сетевых интерфейсах.

Если вы хотите указать конкретный IP-адрес, используйте (при условии, что ваш IP-адрес 192.168.0.50):

rails s -b 192.168.0.50

Я бы оставил порт по умолчанию на 3000 только для того, чтобы вы не конфликтовали с реальным веб-сервером, если вы используете его на своем компьютере, но если вы не можете сменить его на 80 следующим образом:

rails s -b 192.168.0.50 -p 80

Параметр командной строки -b изменяет IP-адрес, с которым связывается WEBrick, а параметр -p изменяет порт по умолчанию. Для получения полного списка параметров введите:

rails s -h

Как уже было сказано, необходимо убедиться, что порт открыт, если вы используете программный брандмауэр. Если вы не пытались использовать 0.0.0.0, но использовали правильный IP-адрес со второго компьютера, то это, вероятно, виновник.

Теперь, чтобы попасть на ваш сайт rails с другого компьютера, вам нужно просто набрать в браузере:

http://192.168.0.50:3000

Или, если вы изменили порт по умолчанию на стандартный порт 80, вы можете просто использовать:

http://192.168.0.50
2 голосов
/ 15 апреля 2013

Если соединения через LAN , то с помощью команды ifconfig на вашем терминале найдите адрес inet , это будет что-то вроде 192.148. 0.100, и используйте его 192.148.0.100: 3000 , 3000 - порт, на котором работает сервер.

0 голосов
/ 28 ноября 2010

Убедитесь, что у вас нет брандмауэра, блокирующего этот порт.Также убедитесь, что вы включаете порт, когда пытаетесь подключиться к нему с другой машины.Это должно Просто Работать, насколько рельсы идут.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...