ruby-on-rails ruby web-services sinatra webrick

ruby on rails - Servicio web de Ruby Sinatra ejecutándose en localhost: 4567 pero no en IP



ruby-on-rails web-services (4)

¡Cuando usa el servidor incorporado durante la run! if app_file == $0 run! if app_file == $0 , el documento de Sinatra explica que set :bind, ''0.0.0.0'' es necesario para hacer que la interfaz esté disponible fuera de la capa localhost .

No es necesario utilizar una dirección IP personalizada o un DNS inverso (midominio.com ...): ''0.0.0.0'' es el valor legal esperado por Sinatra , que se interpretará correctamente.

Por lo tanto, una aplicación Sinatra mínima e independiente disponible en todas las interfaces, no solo localhost , sería:

require ''sinatra/base'' class MyApp < Sinatra::Base set :bind, ''0.0.0.0'' get ''/'' do ''Hello World'' end run! if app_file == $0 end

Tengo un servicio web ruby ​​(usando sinatra) en Windows 7 32 bit OS. Se ejecuta en el puerto 4567. Funciona bien cuando uso localhost: 4567 pero cuando reemplazo localhost con la dirección IP local de mi máquina digo, 192.168.103.99:4567 no funciona y no se puede conectar. Ya he deshabilitado el firewall, el proxy de desvío y el puerto agregado 4567 a la excepción, todavía no tuve suerte.

¿Cuál podría ser el problema?


Del comentario de @SudarshanShubakar siguiente funcionó para mí.

ruby app.rb -o 0.0.0.0


Para configurar el nombre de host del servidor o la dirección IP, use la configuración de sinatra como un enlace

set :bind, ''192.168.103.99''


esta

require ''rubygems'' require ''sinatra'' require "dbi" set :bind, ''192.168.200.185'' get ''/'' do ''hello word'' end