I got a situation where I need to connect with rabbitmq over web sockets through apigee.
my setup is like: mqtt client -> apigee -> rabbitmq, (mqtt connects with web sockets)
In the first ~60 seconds everything works, after that the connection just quits.
extra details:
1. I send a message every 20 seconds on the socket
2. The mqtt client is configured to send a keep alive message every 30 seconds
3. By disconnects I mean that the rabbitmq subscribers (in the client) stops receiving messages
some things I checked:
1. If I remove the apigee from the chain (meaning, client -> rabbitmq) then everything works as expected, so I'm pretty sure it's something to do with apigee
2. If I add "keepalive.timeout.millis" or "io.timeout.millis" to TargetEndpoint then the response apigee gets is "400 Bad Request" (no logs in rabbitmq)
I'd love any idea regrading this,
thx 🙂
Hi ofir,
I observed the same behavior using a GLB with a MIG of proxy VMs - closed connection after 60 seconds.
Here are my other observations:
<HTTPTargetConnection>
<Properties>
<Property name="api.timeout">120000</Property>
<Property name="io.timeout.millis">180000</Property>
</Properties>
<URL>wss://demo.piesocket.com/v3/channel_1?api_key=my_key&notify_self</URL>
</HTTPTargetConnection>
gcloud compute backend-services list
gcloud compute backend-services update apigee-proxy-backend --global --timeout=600
Hope that helps and gives you options.
References: