Sometimes, you’ll find the need to test the jekyll output in multiple environments. Recently, I encountered strange layout behaviours which reproduced only in chrome on windows (and not in chrome on mac osx).
To debug this, I started my Windows VM, and attempted to connect
to port 4000 on my host machine. Addressing it as
or the gateway ip from the VM, or the public ip of the host machine
… none of them worked.
It turns out that by default, jekyll serve only binds to the loopback
device, which is not addressable from other machines. Adding the option
--host 0.0.0.0 to the
jekyll serve command caused it to bind to
all devices, such that it was addressable from my VM
(using the host’s public ip address).