10.1.5: 'Require VPN' on an App Proxy app fails with an assertion and deletes the app's nginx config
-
Hi There,
Version: Cloudron 10.1.5 (box), VPN app installed (WireGuard + OpenVPN)
What I did
- Installed the VPN app and added a WireGuard device with no custom CIDRs.
- On an App Proxy entry (Apps > Add app > App Proxy, pointing at an internal service), opened Access Control and turned on "Require VPN" (VPN protection), then saved.
What happens
- The UI shows an error:
Assertion: expected 'object' !== 'string', thrown fromgetContainerIp6atreverseproxy.js:446. It is reached throughgetVpnAccessIngressDatafromwriteAppLocationNginxConfig. - The app's file in
/etc/nginx/applicationsis deleted before the crash, and the new one is never written. Afterwards the app's domain is served by the default nginx server with the wrong certificate. - The setting does not stick:
requiresVpnis still 0 in the database. - I reproduced this on three different proxy apps.
Recovery
Opening the app's Location and clicking Save rewrites the nginx config, and the app comes back.
Expected
Either the option works for App Proxy apps, or it is hidden or refused up front. In every case a failure should leave the existing nginx config in place.
Why I think it happens
A proxy app has no container, so there is no container IP to look up.
getContainerIp6receives a string where it expects an object, and the failure comes before the vhost is rewritten. I have only read the stack trace, not the code path, so this is a guess.Also
"Require VPN" turns on without problems for a real (containerised) app, so the failure is specific to App Proxy.
Side effect worth documenting
With no app requiring the VPN, the generated client profile has an empty
AllowedIPs =. Some clients (Firewalla) refuse to import or connect with it. This is only a documentation point, since the profile gets entries once an app requires the VPN.Logs
The
box.loglines from the failed save are available; I can attach them (redacted) on request. -
-
-
N nebulon has marked this topic as solved
Hello! It looks like you're interested in this conversation, but you don't have an account yet.
Getting fed up of having to scroll through the same posts each visit? When you register for an account, you'll always come back to exactly where you were before, and choose to be notified of new replies (either via email, or push notification). You'll also be able to save bookmarks and upvote posts to show your appreciation to other community members.
With your input, this post could be even better 💗
Register Login