Docker-Container nicht öffentlich erreichbar

  • Hallo zusammen,


    über einen Netcup-Webhosting-Tarif habe ich eine Domain registriert und leite den Zugriff weiter auf einen Netcup Root Server.
    Auf dem Root Server läuft ein Docker-Container und eine Website. Letztere ist problemlos von außen erreichbar, nur der Docker-Container nicht.

    In den Logs (Nginx, Docker) sieht alles super aus, keinerlei Fehler, aber leider auch keine Zugriffe auf den Container.
    Beim Aufruf des Web-Interfaces des Containers erhalte ich die 404:

    Code
    "27/Jan/2021:18:51:47 +0100" client=56.31.178.141 method=GET request="GET /web/ HTTP/1.1" request_length=370 status=404 bytes_sent=561 body_bytes_sent=19 referer=- user_agent="Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:84.0) Gecko/20100101 Firefox/84.0" upstream_addr=127.0.0.1:8080 upstream_status=404 request_time=0.001 upstream_response_time=0.000 upstream_connect_time=0.000 upstream_header_time=0.000

    Das interpretiere ich so, dass der Upstream nicht funktioniert.
    Ich verwende Ubuntu 20.04, Nginx 1.18, Letsencrypt, Ufw, Fail2ban. Hier der Ufw Status:

    Habt ihr einen Tipp, wie ich das Problem angehen kann?

  • Wenn du davor einen ReverseProxy hast, dann stimmt etwas mit der Config nicht. Hast du dafür eine eigene vHost Config oder nutzt du ein Unterverzeichnis?

    Anleitungen für einen ReverseProxy gibt es ja genügend. Ich nutze den Apache (wegen anderen Dingen noch) dafür (betreibe ca. 3-5 Container zum testen so.)

  • Eine eigene vHost Config habe ich nicht. Ich habe die nginx.conf und dann noch für die Webseite und den Container jeweils eine eigene Nginx Config. Möglich, dass ich dort irgendwas falsch konfiguriert habe. Aber dann habe ich mal einen Anhaltspunkt, auf den ich die Fehlersuche konzentrieren kann. Danke!

  • Ich bin den umgekehrten Weg gegangen und habe mich von Port 12345 testweise verabschiedet, d.h. über 8080 müsste jetzt der Docker-Container erreichbar sein.
    Das Problem besteht aber nach wie vor: Kein Upstream.


    Was mir darüber hinaus noch auffällt:

    Wenn ich die Webseite über https aufrufe lädt sie. Bei Aufruf über http lädt die Seite 1 Minute, bis sie dann auf https umschwenkt. Kann das mit dem Upstream-Problem zusammenhängen?

  • Ohne Configs (nginx, Aufruf des Dockercontainers, Compose File) Ist das hier alles nur Spekulation. Dazu villeicht mal mit netstat -tulpen nachschauen. Hast du für den Docker eine Subdomain angelegt?

    Das ist z.B ein RP Eintrag für eine meiner Container als vhost (Ich nutze den Apache, LE und habe auch bestimmte Seiten ohne Container laufen)

    Code
    ProxyPreserveHost On
    ProxyRequests Off
    ProxyPass  /.well-known/acme-challenge/ !
    
    ProxyPass / http://127.0.0.1:9003/
    ProxyPassReverse / http://127.0.0.1:9003/