Подтвердить что ты не робот

Ruby Sinatra Webservice работает на localhost: 4567, но не на IP

У меня есть рубин (используя синатра) webservice на Windows 7 32-битной ОС. Он работает на порте 4567. Он работает отлично, когда я использую localhost: 4567, но когда я заменяю localhost локальным ip моего компьютера, скажите: 192.168.103.99:4567 он не работает и не работает для подключения. Я уже отключил брандмауэр, прокси-сервер и добавил порт 4567 в исключение, но все равно не повезло.

В чем может быть проблема?

4b9b3361

Ответ 1

Из комментария @SudarshanShubakar после работы для меня.

ruby app.rb -o 0.0.0.0

Ответ 2

При использовании встроенного сервера с помощью проверки run! if app_file == $0 Sinatra doc объясняется, что set :bind, '0.0.0.0' требуется, чтобы сделать интерфейс доступным вне слоя localhost.

Не требуется использовать пользовательский IP-адрес или обратный DNS (mydomain.com...): '0.0.0.0' является допустимым значением ожидаемым Sinatra, который будет интерпретироваться правильно.

Поэтому минимальное самодостаточное приложение Sinatra, доступное на всех интерфейсах, а не только localhost, будет:

require 'sinatra/base'

class MyApp < Sinatra::Base
  set :bind, '0.0.0.0'

  get '/' do
    'Hello World'
  end

  run! if app_file == $0
end

Ответ 3

Чтобы установить имя хоста сервера или IP-адрес, используйте параметр sinatra, как

set :bind, '192.168.103.99'

Ответ 4

это

require 'rubygems'
require 'sinatra'
require "dbi"

set :bind, '192.168.200.185'
get '/' do
    'hello word'
end