Troubleshooting Convox Local Rack DNS Errors
Convox gen 2 introduces the idea of a local rack where you can mimic your production environment locally on your workstation.
However, I recently got into a snag with my local rack where my convox commands were unresponsive and eventually timed out:
$ convox rack ERROR: Get https://rack.convox/system: dial tcp: lookup rack.convox: no such host
I could see both my rack docker container running normally (and had been running for a while). I could see the convox rack and convox router commands in my process list. /var/log/convox/*.log logs weren't spewing errors.
Here is the chain of troubleshooting I tried (with some help from @ddollar) in case others encounter the same issue:
sudo killall mDNSResponder
This didn't do anything
cat /etc/resolver/convox
This is the (local) ip that should function as your local convox DNS server.
curl -k https://<convox resolver ip>
This should output a lot of JSON that describes all the various convox.* hosts that should be resolving. This webserver and DNS server is actually your convox router process.
sudo launchctl stop convox.router
Trigger a restart on the convox router.
sudo lsof -nP -i:53
This shows the process listening on the DNS port (53). The PID this returns should match your convox.router.
Finally we realized that the process itself was just fine. I checked my mac firewall and realized that somehow convox got into the 'denied' list and was blocking DNS traffic (but not https) to my (local) ip for my convox router. It's possible I accidentally hit 'deny' on my last convox upgrade, but I'm wondering if I just didn't see the allow/deny box come up and it got defaulted to deny somehow.
Anyway, hope this proves helpful to you in case you run into any similar set of circumstances.












