'Google Load Balancer to Cloud Run giving 404

I setup a load balancer following these instructions. The network endpoint group points to an AppEngine app and everything runs smooth. Now, I ported that same AppEngine app to a Cloud Run service. It deploys and works perfectly using the xxxx.run.app URL. Then I updated the network endpoint group to use the Cloud Run instead of AppEngine, and after a few minutes when calling the load balancer I get this error:

404. That’s an error.

The requested URL was not found on this server. That’s all we know.

(and the little broken robot :) )

I don't see logs in the cloud run so it means it doesn't even get to to the cloud run instance. I changed it back to AppEngine and after a couple of minutes works fine.

Is there anything else or different I need to setup for Google Cloud Run?

Thanks!



Solution 1:[1]

Try not to use europe-west1 region. I was facing the exact same problem, and got the LB in front of a serverless cloud run NEG working when I switched everything to europe-west4 or us-central1, for example.

Solution 2:[2]

Try to access your load balancer external ip address with "https" or "http":

For example:

https://33.149.231.37/
http://33.149.231.37/

Sources

This article follows the attribution requirements of Stack Overflow and is licensed under CC BY-SA 3.0.

Source: Stack Overflow

Solution Source
Solution 1 poogrtfx
Solution 2 Kai - Kazuya Ito