Access Rails Development Server From A Different Computer
Asked Answered
G

1

26

I'm using webrick to develop my rails app on Mac OS X Lion. I'm trying to access the site from another computer (for testing). The internal IP of my computer is 10.1.10.100.

Accessing 10.1.10.100 displays the page served by the apache server running on my computer.

Accessing 10.1.10.100:3000 times out, both from my computer and from another computer on the same network. I can ping 10.1.10.100. From my computer, loaclhost:3000 displays the app.

Is there are firewall I need to open up on Mac OS X or some other setting that needs to be applied?

Thanks

Germinative answered 9/4, 2012 at 19:15 Comment(1)
Another related postLexy
M
51

While starting the webrick server specify the IP on which your rails application will run (10.1.10.100 in your case) using -b option, it binds Rails to the specified IP.

rails server -b 10.1.10.100 -p 3000
Mathieu answered 9/4, 2012 at 19:26 Comment(4)
Replace "rails server" with "ruby script/server" in case you are using rails 2.Mathieu
Strangely, this worked with thin too, even though when the port wasn't explicitly set, netstat showed it listening on all interfaces ("*") and nmap showed it open, but it didn't respond.Sikh
@Akarsh this worked for me, thanks! BTW, I've been using rails s for development purposes for some time and I was always able to access my app within the same network using machine IP. Do you know why I need this now? Maybe some different machine config?Cog
Instead of typing the IP each time, you can enter something like this: rails s -b $(ipconfig getifaddr en0) (just check if en0 is actually your interface name, I based my comment on this: osxdaily.com/2010/11/21/find-ip-address-mac).Diversified

© 2022 - 2024 — McMap. All rights reserved.