I've been running a Django webserver in an Ubuntu 22.04 VM using Parallels (Standard Edition Version 20.0.1) on my M2 Mac.
python manage.py runserver 0.0.0.0:8000
I then view the website in Chrome/Safari/Firefox on my Mac OS, pointing the browser to the IP of the VM at port 8000.
http://ip.of.ubuntu.vm:8000
It's always worked great.
But yesterday I upgraded my MacOS to Sequoia 15.0. Now I can't see the website served from the VM in the host browser anymore.
I've tried switching VM > Configure > Hardware > Network > Source from Shared Network
to Default Adapter
, and also to WiFi
, but those did not help.
I can ping the VM's IP from the MacOS in Terminal and it finds it. But the browser cannot see the website. Chrome tells me:
This site can’t be reached
http://ip.of.ubuntu.vm:8000/donate/ is unreachable.
ERR_ADDRESS_UNREACHABLE
I've restarted everything. That hasn't helped.
As a workaround, I can, of course, view the site in Ubuntu. That works properly. But I'd like to be able to see it in the host Mac also.
Any suggestions?
Thanks in advance!
I finally figured out what the issue was. It's literally been months that I've been trying to work around it.
The Mac upgrade prevents apps from accessing "devices on local networks" without explicitly granted permissions.
Ideally, a person would allow this as soon as they see the prompt that says:
Allow "Chrome" to find devices on local networks?
I did not allow it, assuming the prompt was for a new feature of Chrome that I had no interest in rather than for an old feature of MacOS that I had been using for years.
If I had accepted, I never would have had the problem.
There is a toggle in Mac > Settings > Provacy & Security > Local Networks that can be turned on and off to grant Chrome the access it is requesting. Unfortunately, toggling it on and off doesn't actually work.
But there's a bunch of suggestions online for fixing that, and the most reliable seems to be an uninstall and reinstall of Chrome.