Communityoplossing

Reverse proxy voor ZimaOS en Docker-apps met Nginx: wijzig de WebUI-poort, gebruik lokale DNS en voorkom lussen

A June 2026 thread where a user running IPFire/Bind9 wanted local hostnames for ZimaOS and Docker apps. A community reply showed the ZimaOS WebUI Port setting under General. The original poster moved the WebUI to port 83, used static-IP Nginx proxy destinations and local DNS entries, rebooted networking equipment, and confirmed the setup worked.

De bron leverde een werkend lokaal reverse-proxyontwerp op: verplaats het ZimaOS-dashboard weg van poort 80, reserveer poorten 80/443 voor de reverse proxy, maak lokale DNS-records aan en laat de Nginx-proxydoelen verwijzen naar het vaste LAN-IP-adres van de ZimaOS-server plus de daadwerkelijke poort van elke app.

De belangrijkste ontwerpkeuze was het voorkomen van een DNS-lus. De Bind9-records van de gebruiker gebruikten gebruiksvriendelijke namen zoals food.sdak, terwijl de upstreambestemming van Nginx het vaste IP-adres van ZimaOS bleef—bijvoorbeeld 10.66.66.30:9925—in plaats van de hostnaam opnieuw via zichzelf te proxy'en.

Algemene instellingen van ZimaOS waarin de WebUI-poort voor een reverse-proxyconfiguratie is gewijzigd van de standaardwaarde naar poort 83
De beantwoorder verwees naar Instellingen → Algemeen → WebUI-poort, zodat Nginx de gebruikelijke HTTP-poort kon gebruiken.

Verplaats de ZimaOS WebUI van poort 80

In de bron wijzigde de gebruiker de ZimaOS WebUI naar poort 83. De exacte alternatieve poort is niet belangrijk; kies een ongebruikte poort en documenteer deze.

Controleer na de wijziging eerst de directe toegang:

http://ZIMA_LAN_IP:83

Voeg Nginx pas toe als de nieuwe directe dashboard-URL werkt.

Ook voor poort 443 kan dezelfde planning nodig zijn

In het communityantwoord werd vermeld dat de HTTPS-instellingen van ZimaOS onder de ontwikkelaarsmodus staan en kunnen conflicteren met een reverse proxy die eveneens poort 443 wil gebruiken. Bepaal voordat je beide inschakelt welke service poort 443 beheert.

Als Nginx HTTPS beëindigt, kan de backend privé-HTTP op het LAN blijven gebruiken, tenzij je beveiligingsmodel TLS op beide verbindingen vereist.

Gebruik een stabiel LAN-IP-adres voor het reverse-proxydoel

De gebruiker uit de bron kende een vast IP-adres toe aan de ZimaOS-host en gebruikte dat adres in de upstreamconfiguratie van Nginx. Huidige versies van ZimaOS ondersteunen DHCP of handmatige statische netwerkconfiguratie onder Instellingen → Netwerk.

Zie de huidige workflow voor statische IP-adressen in ZimaOS.

Maak lokale DNS-records voor gebruiksvriendelijke namen

Lokale IPFire-Bind9-DNS-hostrecords die servicenamen zoals food, pool en zima naar het vaste IP-adres van ZimaOS laten verwijzen
De bron houdt de naamresolutie bij de lokale router/DNS-server en laat meerdere servicenamen naar hetzelfde ZimaOS-IP-adres verwijzen.

Gebruik voor een uitsluitend lokaal DNS-naamruimte bij voorkeur geen .local voor gewone unicast-DNS, omdat dit achtervoegsel conventioneel wordt gebruikt door mDNS. Gebruik je echte interne domein of een andere bewust beheerde lokale naamruimte.

Laat Nginx verwijzen naar backends van het type IP:poort

Nginx Proxy Manager met lokale proxyhosts voor food, pool en zima, met het vaste ZimaOS-IP-adres en verschillende bestemmingspoorten
De werkende proxytabel uit de bron gebruikt hetzelfde ZimaOS-IP-adres met verschillende bestemmingspoorten voor de toepassingen.

Zo voorkom je dat de openbare of gebruiksvriendelijke hostnaam vanuit dezelfde proxy wordt opgelost en het verkeer per ongeluk opnieuw naar de proxy wordt gestuurd.

Behoud WebSocket-/Upgrade-verkeer voor interactieve apps

ZimaOS en veel zelfgehoste apps gebruiken langdurige WebSocket- of HTTP-upgradeverbindingen. Een pagina kan er volledig geladen uitzien terwijl livewidgets of appdialoogvensters niet werken als de reverse proxy de vereiste upgradeheaders niet doorstuurt.

Gebruik de juiste WebSocket-ondersteuning van Nginx/Nginx Proxy Manager voor toepassingen die dit nodig hebben.

Lokale DNS vereist geen blootstelling aan het openbare internet

Het doel in de bron was lokaal gebruiksgemak, niet het publiceren van de NAS op internet. Beperk de proxyluisterpoorten en DNS-records tot vertrouwde netwerken, tenzij je bewust externe toegang ontwerpt met authenticatie, certificaten, firewallregels en een passend dreigingsmodel.

Herstarts herstelden ARP/status in de bron, maar vormen niet de kern van de configuratie

De gebruiker herstartte zowel ZimaOS als IPFire na het wijzigen van de poorten en meldde dat hierdoor verouderde ARP-/netwerkstatus werd vrijgegeven. Dit was bron-specifieke opschoning en geen universele vereiste na elke proxywijziging.

Veelgestelde vragen over de Nginx-reverse-proxy

Waar wijzigde de bron de ZimaOS WebUI-poort?

Instellingen → Algemeen.

Waarom gebruikte de bron het vaste IP-adres als Nginx-bestemming?

Om een DNS-/proxy-lus te voorkomen en de backendbestemming voorspelbaar te maken.

Moeten lokale reverse-proxynamen aan internet worden blootgesteld?

Nee. Het volledige ontwerp kan binnen het LAN blijven met lokale DNS.