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