I had a Tinyproxy VM that was working as a forward proxy between external services.
Imagine I have an app A that needs to request something,from app B, but app B can accept requets only from 1-3 whitelisted IPs.
But the VM is unreliable, so I wanted to move to Cloud Run, but I have discovered that Cloud Run does NOT support HTTP verb CONNECT, which is mandatory to proxy HTTPS request.
You have a variety of options in Google Cloud Platform (GCP) for setting up a forward proxy that supports the HTTP CONNECT method for external services. Here are several alternatives you can consider:
You can use VM instances, but it should be configured properly to act as forward proxy. On the instance, you can install and set up proxy software like Squid, HAProxy, or Nginx to effectively manage HTTP CONNECT requests and act as intermediaries for forwarding traffic to external services.
You can also use Apigee as your proxy , by configuring Apigee appropriately, you can enable it to handle HTTP CONNECT requests and efficiently proxy traffic to external services. This flexibility expands the utility of Apigee beyond its core API management capabilities, making it a viable option for serving as a forward proxy in your environment.
If you are using Google Kubernetes Engine (GKE) for container orchestration, you can deploy a forward proxy as a sidecar container alongside your application pods. Configure the proxy to support the HTTP CONNECT method and route traffic to external services. You can check this documentation for more details.