A client of mine wants to use our iPadOS app behind a proxy. While all normal connections to firebase work, all subscriptions to firestore do not work. The client reported that they can see in the firewall that some connections are bypassing the http proxy (WinGate), and directly use tcp, which is then blocked by the firewall. The connection to the proxy is configured in the iPad settings.
So my question is, whether it is possible to make the subscriptions go through the http proxy or just use http directly, which should already force it to through the proxy. Interestingly, the web version of our app that uses the same firebase backend works without problems. Any pointers are greatly appreciated!
I was able to reproduce the problem with the following steps:
This way, all traffic has to go through the proxy. A similar setup could be achieved by blocking the iPads IP in the firewall directly.
With this setup, I was not able to make any Firestore subscriptions work.
However, when adding the following code to the AppDelegate
the connections are working again. I got the reference for the environment variable
grpc_proxyfrom the grpc rerference.