Reverse-Proxy (nginx Container) für Routing

  • Hallo zusammen,


    ich habe eine Aufgabe die mir den ganzen Tag schon den Kopf zerbricht. Folgendes Setup fahre ich bereits:


    - einige Docker-Container wie z.B. Phpmyadmin, Confluence etc. die einwandfrei laufen.

    - MariaDB wird sauber von allen Containern erreicht


    Nun habe ich folgendes Problem:


    Der Container soll von außen per URL erreichbar sein, und zwar so, dass ich seine Portnummer nicht mitgeben muss.

    Meine Idee war:


    - Subdomains je Container einrichten

    - CNAME Eintrag einrichten

    - nginx als Docker starten und die Konfiguration des nginx auf meine URL plus Port weiterleiten


    Nun macht mir die QNAP aber scheinbar einen Strich durch die Rechnung:


    - gebe ich die URL der Subdomain ein, leitet die QNAP mich direkt auf ihren eigenen Port 8080 weiter und stellt mir den Login-Screen hin

    - nginx Listening funktioniert irgendwie nicht richtig, ich habe das Listening per eigener Konfiguration auf Port 80 angelegt und wollte alle Requests mal in ein Access.log schreiben. Das bleibt leider leer

    - Requests sehe ich lediglich im Container-Log, aber nur diese wenn ich mich auf der QNAP bewege und z.B. eine App öffne. Andere requests sehe ich nicht. Mein eigenes Log bleibt leer



    Ich finde leider im Netz zu so einem Fall gar nichts.


    Hat jemand eine Idee es so lösen zu können, dass ich über meineSubdomain.domain.de direkt auf meine interne DockeIP:Port weitergeleitet werde?


    Danke vorab an Alle!!

  • Du wirst wahrscheinlich einen Webserver auf dem QNAP laufen haben, der belegt bereits Port 80 (http). Ich kann dir traefik empfehlen, wenn du rein Docker Container ins Internet stellen willst. Die Konfiguration von traefik ist - wie ich finde - wesentlich einfach als nginx.

  • Warum überhaupt mit Reverse Proxy rumhantieren, kannst du nicht einfach einen SRV Record mit den jeweiligen Ports verwenden? Ich weiß nicht wo deine Domains registriert sind, aber bei INWX geht das so ohne weiteres. Theroretisch kannst du dann einfach
    meineerste.subodmain.de auf Port 9090 und

    meinezweite.subdomain.de auf Port 8888 oder so zeigen lassen.

  • Hi,


    Bin erst vor kurzem im generellen auf das Thema gestoßen.

    Soweit ich das verstehe kann man aber mit NGNIX oder eben traefik für seiten SSL Zertifikate erhalten ohne das es einen weiteren Service bedarf.

    Nichts desto trotz komme ich auch auf keinen grünen zweig und habe weder das eine noch das andere webinterface geöffnet bekommen.


    Ist hier schon jemand weiter gekommen?