How to Expose Local Rails App to the Public Internet
Using localtunnel gem
Install NodeJS, if your machine does not have it installed.
npm install -g localtunnel
Start your rails app on your machine
Request a tunnel to your local server:
lt --port 3000
Copy the URL in the output:
your url is: https://cgoyfetijd.localtunnel.me
to access it from any machine. This gave the error:
504 Gateway Error (with nginx server version)
Due to security, since Rails 4.2 the local server is not exposed to the network.
To fix this, start the server like this :
rails s -b 0.0.0.0
When this is accessed from another machine, the log file shows the error:
Cannot render console from 22.214.171.124! Allowed networks: 127.0.0.1, ::1, 127.0.0.0/127.255.255.255
config.web_console.whiny_requests = false
does not work. In development.rb, add:
config.web_console.whitelisted_ips = '126.96.36.199'
to allow that particular IP to connect remotely to your local Rails app. To whitelist the whole private network:
config.web_console.whitelisted_ips = '188.8.131.52/16'
You will now be able to access the Rails app running on machine from any machine connected to your network.
- Build webhook integrations with ease.
- Run personal cloud services from your own private network.
- Demo without deploying
- Simplify mobile device testing
Download ngrok and install it.
Run your Rails app :
rails s -b 0.0.0.0
Go to the directory where you extracted the zip file and run it.
./grok http 3000
You can now access the Rails app from the URL displayed in the ngrok Forwarding section of the server output from anywhere. It will be something like:
Ace the Technical Interview
- Easily find the gaps in your knowledge
- Get customized lessons based on where you are
- Take consistent action everyday
- Builtin accountability to keep you on track
- You will solve bigger problems over time
- Get the job of your dreams
Take the 30 Day Coding Skills Challenge
Gain confidence to attend the interview