Access web server on VirtualBox/Vagrant machine from host browser?

Complementing @Kakar answer, this configuration can also be done using this:

config.vm.network "private_network", type: "dhcp"

This will assign an IP automatically.

For further reading: https://www.vagrantup.com/docs/networking/private_network.html


Try this.

  1. Open the vagrant file (should be in the directory where you specified to create a new vagrant machine).
  2. Search for config.vm.network. If you didn't setup the file earlier, it should be commented.
  3. Change it to look something like this config.vm.network "private_network", ip: "55.55.55.5". Here ip address (55.55.55.5) can be any ip address you want.
  4. Now logout from the vagrant machine and reload your vagrant machine by this command vagrant reload.
  5. Again ssh to your vagrant machine and restart your django server by this command python manage.py runserver 0.0.0.0:80. Again the port address (80) can be 8000 if you want so.
  6. After that, in your browser, enter the following address 55.55.55.5, and hopefully you should see your webapp.

Now if you would like to go further, you can edit your host file, and add this line

55.55.55.5 mynewdomain.com

Then in your browser, enter the follow address,

mynewdomain.com

And you should see your web app. Note that, www is not added in the domain name inside the host file, so only mynewdomain.com can be accessed. You can however add it.

Hope this helps. Cheers.