I banged my head against the wall using the wonderful lando as development environment. It works wonderful, but .lndo.site URLs never worked for me, while :XXXX ports worked on localhost.
So I started searching issues around Lando, WSL2 and docker but couldn't find a true solution. I thought there was a problem with .lndo.site DNS resolution on my Windows Machine or the Docker Container with Lando in my WSL2 environment using Docker Desktop (all latest versions).
After checking hosts file, several configs and other stuff I tried
curl http://test.lndo.site
on my Windows machine and on Linux Bash, both returned "curl: (7) Failed to connect to test.lndo.site port 80: Connection refused"
ping test.lndo.site
returned 127.0.01 correctly. Anyway it didn't work.
So I started searching the Docker logs (https://docs.docker.com/docker-for-windows/troubleshoot/) and found a Socket conflict error message:
[12:41:04.222][ApiProxy ][Error ] msg="unable to expose port TCP 127.0.0.1:443 -> 0.0.0.0:0: listen tcp 127.0.0.1:443: bind: Der Zugriff auf einen Socket war aufgrund der Zugriffsrechte des Sockets unzulässig."
Which finally led me to this trick to find out which windows application blocks port 443: https://docs.microsoft.com/en-us/troubleshoot/windows-server/performanc…
or
https://communities.vmware.com/t5/VMware-Workstation-Player/Stop-VMWare…
It was VMWare Workstations "Shared VM's" feature using port :443. Here's how to disable it: https://stackoverflow.com/questions/21182512/how-to-stop-vmware-port-er…
So finally it was a port conflict on the host which prevented .lndo.site subdomains from working -.-
Hope this helped some of you!