Services hosten - Godaddy, Fritz Box, Ubuntu Server, Docker

  • Problem: Wenn ich die Domain eingebe zb wiki.<domain>.<tld> bekomme ich "504 Gateway Time-out - openresty". Wenn ich aber die root domain eingebe <domain>.<tld> bekomme ich das gewünschte Ergebnis. Sprich die Connection sollte vorhanden sein.


    Setup: Ich habe die Domain über GoDaddy gekauft und für die einzelnen Services z.b wiki, Subdomains mit A Records erstellt. @ dient als root domain verweis

    TypeNameDataTTL
    Awiki xxx.xxx.xxx.xxx600 sec
    A@ xxx.xxx.xxx.xxx600 sec



    Die IP (xxx.xxx.xxx.xxx) update ich über ein kleines Bash Script das an die GoDaddy API eine Anfrage schickt welche IP dort steht für meinen server und sie mit meinen tatsächlichen IP abgleicht. Fall eine Abweichung vorhanden ist schickt das Script meine neue IP an die GoDaddy API. Dieses Skript läuft über einen Cronjob alle 10 Minuten.


    IP Update Skript


    Bei meiner Fritz!Box habe ich den Server Freigegeben und die Ports 80 und 443 exposed.


    Auf meinen Server laufen einige Services z.b wiki und ein Nginx Proxy Manager der an meine jeweiligen Services verteilt. Diese Services sind verschiedene Applikationen die einfach als Docker Container laufen und auch angesprochen werden können vom Host System und anderen PCs im Netzwerk aber halt nicht von außen.

    Alle Container Exposee auf dem gleichen Server zu verschiedenen Ports zb lauft auf den server auf dem 3000 port des wiki.


    Ich hatte die Vermutung das nginx keine Verbindung zu den anderen services hat und deswegen nicht verbinden kann woraufhin ich den Nginx Proxy Manager und wiki ins gleiche Netzwerk gesteckt habe aber auch dann konnte ich leider die subdomain nicht erreichen. Alle meine container sind über bridge ans Host system also den server angebunden.


    Diese Tatsache lässt mich wieder an den DNS Records zweifeln. Bin echt gerade Ratlos :/ "HELP"

  • der erste Ansatz von mir wäre, in den Nginx Logs nachzuverfolgen was passiert. Wenn bei beiden Domains die IP die selbe ist kann man mal schauen, ob ping auf dem Gerät, auf dem 504 angezeigt wird, wiki.domain.tld richtig zu xxx.xxx.xxx.xxx aufgelöst wird. Ich vermute aber dass das passt.

    Möglicherweise weiß nginx nicht genau wo er wiki.domain.tld intern weiterleiten soll. 504 zeigt ja schon mal dass jemand reagiert. Wie gesagt ... nginx logging.

  • hab die docker ip und den port dem nginx richtig mitgeteilt und ich bekomme dennoch den gateway
    wenn ich nslookup eingebe verweisen alle subdomains richtig auf meinen server also der part passt und beim nginx liegt der Fehler aber woran es scheitert erkenne ich gerade nicht


    LÖSUNG:
    In meinem Fall hat alles gepasst bis auf die Firewall Einstellungen auf dem Linux (Ubuntu) Server. Ich musste nur die ports hinzufügen auch wenn diese nicht zugänglich von außen sind (da in meinem Fall die Fritzbox nur 2 ports exposed) dienen sie zur Kommunikation zwischen dem Nginx und den anderen Applikationen.
    sudo ufw allow <port_number>