In vcloud, each vm has an internal ip and an external ip. It appears to me that when a process in a vm sends a request to its external IP, it gets a timeout, while requests to its internal IP work fine.
Interestingly, I was able to ping its external IP from the vm.
Any suggestions on a solution that doesn't involve any manual configuration?