Moin, ich hab da mal ein keines Problem.
Ich versuche testweise für die DLRG Dresden den Server auf einem pi4 per Docker und nginx aufzusetzen.
Das hat soweit auch alles geklappt und ich komme auf den Server drauf.
Nur die Anbindung der ALARMiator App funktioniert nicht da die swagger UI die Antwort für den API Zugriffspunkt nicht als JSON sonder als HTML zurück gibt.
Der revers Proxi ist nach Anleitung eingerichtet und in der FRITZ!Box sind alle nötigen Ports offen.
Ich hab das Problem jetzt schon bei mehreren hier gelesen, nur eine Lösung wurde bei allen anderen threads nicht gegeben. Zumindest hat nichts davon funktioniert. ;D
Angeblich ist das relativ einfach zu lösen.
Wenn jemand weiß wie, wäre ich sehr dankbar wenn mir jemand helfen könnte.
lade doch mal deine NGINX-Konfiguration hier hoch, damit man sich ein Bild machen kann. Ist das REST-API Plugin im Server aktiviert? Auch hier wäre ein Screenshot von der Konfiguration hilfreich.
Bisher bin ich zwar auch nur Anwender, aber beruflich bin ich immerhin im Bereich Softwareentwicklung tätig, also mal ein paar Punkte zum prüfen:
Das sieht bei meiner Konfiguration eigentlich identisch aus.
Einzige Ausnahme: HSTS Subdomains sollte aktiviert sein. Ich kann mir aber nicht vorstellen, dass es daran hängt - ein versuch ist es aber alle mal wert.
Ein paar weitere Gedanken zum probieren:
blockt die Firewall die Verbindung zum Container?
was sagen die logs (docker logs [container-name])
sind die mime-types korrekt eingebunden (/etc/nginx/nginx.conf (suche nach include mime.types)
sind die letsencrypt-Zertifikate gültig?
Kleine Hilfe zu Docker:
Container auflisten: docker ps -a
Bash im Container öffnen: docker exec -it [container-name] /bin/bash
Bitte nimm in deinen Plugin Einstellungen am Alarmiator https raus.
Das https übernimmt bei dir der nginx proxy manager und zwischen nginx proxy manager und alarmiator läuft die Verbindung im virtuellen Docker Netzwerk lokal auf deinem Host via http.
Es ist also aus Sicht des ALARMiator http. Auch wenn für alle Anwender die über den Reverse Proxy zugreifen, https benutzt wird.
Zusätzlich ist bei dir im nginx proxy manager bei dem Subpath /api/ kein Slash hinter alarmiator_service dieser ist bei der api nötig. Steht im Handbuch aber kann man leicht übersehen. Also alarmiator_service/ aber nur bei der Api.
Lass mich wissen, ob die Änderung + Neustart hilft.
bei dir ebenfalls (siehe meinen Beitrag) mal https deaktivieren und auch die Weiterleitung im Router entfernen.
Das ist nicht nötig mit dem nginx proxy manager und ist noch vorhanden, da ältere Versionen des Servers selbst https hatten ohne reverse proxy. Also für neuere Instanzen nicht mehr relevant.
Das werden wir besser markieren im Handbuch und im Server.
Beim Subpath api hatte ich den / nur mal testweise entfernt, aber beim Bild noch nicht wieder hinzugefügt. Jetzt ist wieder alles wie es muss. Hilft aber trotzdem nicht.