I have a ruby(using sinatra) webservice on windows 7 32 bit OS. Its running on port 4567. Its working fine when I use localhost:4567 but when I replace localhost with the local ip of my machine say, 192.168.103.99:4567 it doesn't work, and fails to connect. I have already disabled the firewall, by-pass proxy and added port 4567 to exception, still no luck.
What might be the issue ?
To set server hostname or IP-address use sinatra setting bind like
From the comment of @SudarshanShubakar following worked for me.
ruby app.rb -o 0.0.0.0
this
When using the built-in server through the
run! if app_file == $0
check, Sinatra's doc explains thatset :bind, '0.0.0.0'
is required to make the interface available outside thelocalhost
layer.It is not required to use a custom IP address or a reverse DNS (mydomain.com…):
'0.0.0.0'
is the legit value expected by Sinatra, which will be interpreted correctly.Therefore, a minimal, self-contained Sinatra application made available on all interfaces, not only
localhost
, would be: