I have a Debian VM instance that is working fine. It is a web server, thus I reserved a static IP which I am using to expose my services. I also did the necessary configuration in the firewall to allow inbound connections for some ports (80, 8080, 5432).
Today I open a terminal and issued the command : curl "https://www.ubereats.com" and got the return
Javascript disabled
Javascript is needed to run Uber Eats. You can try enabling it or visiting the website with a browser that supports Javascript.
It seems that GCP IP's are blacklisted or my outbound connections are not using my static IP and instead using a pool of dynamic IP's which in turn some external services do not accept.
Can someone point me to the correct direction? Do I have to do any other configuration?
Hi @masdeval,
Welcome to the Google Cloud Community!
Just a few questions:
1. Where did you configure your network settings or firewall rules? Was it through the Google Cloud Console, using gcloud CLI, or directly on the VM's operating system?
2. For the static IP configuration, did you assign it via the Google Cloud Console to ensure it's used for inbound connections, and have you made any attempts to configure your VM for a static outbound IP using Cloud NAT?
3. Have you experienced this issue with outbound connections only on this particular VM, or is it a common issue across multiple VMs in your project? Kindly create a fresh VM with the same Debian image and retry curl "https://www.ubereats.com"
again. (I tried it on my end and was able to curl successfully, it returned the HTML elements)
1 - I configured using the console.
2- I also used the console to reserve the static IP. I have tried to create a Cloud NAT configuration which (I think) was associated with my internal IP and VM. (I was not able to associate my own static IP but instead I left the default dynamic creation. ) Besides the creation of the NAT I haven’t done any other configuration in the firewall.
3 - I can’t say right now. I will create a new instance to test. Other odd thing is when I type : ifconfig
The IP result shown for the network is not the external static IP but the internal one, contrary to what I was expecting.
Hi @masdeval,
Thanks for clarifying your configurations. Before discussing Cloud NAT, were you able to replicate the issue with a fresh VM? If so, this might indicate a broader problem beyond NAT.
Most probably, the Cloud NAT is not properly configured that's why you're receiving the error. Please review this document - Use Public NAT with Compute Engine. Additionally, if your use case doesn't strictly require Cloud NAT (especially if you're managing a single VM that requires outbound internet access and you're not concerned about hiding the VM's IP address), considering a simpler setup without Cloud NAT might solve the issue.
I removed all the Cloud NAT I had done and did the steps recommended at Use Public NAT with Compute Engine
I was able to connect to the VM instance via ssh from my local computer using the new tunneling. When I run ifconfig, this time I get an internet IP.
However, curl https://www.ubereats.com still returns, among other javascript code, the msg saying that javascript is disabed.
I will keep playing around firewall/nat configuration and if I have success I came here to post the final solution.
Thank you!