You are right, it is related to nginx. I want to find a time to validate and test it out.
The issue only happens when there is a large period of time without new updates and nginx might not be forwarding the keepalive messages between the peer and the signal server.
If possible please share your case in the https://github.com/netbirdio/netbird/issues/651 ticket as well.