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
Type | Name | Data | TTL |
A | wiki | xxx.xxx.xxx.xxx | 600 sec |
A | @ | xxx.xxx.xxx.xxx | 600 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
- #!/bin/bash
- mydomain="<domain>.<tld>"
- myhostname="<subdomain zb "wiki">"
- gdapikey="xxxxxxxxxxxxxxxxxxx:yyyyyyyyyyyyyyyyyyyyy"
- logdest="local7.info"
- myip=`curl -s "https://api.ipify.org"`
- dnsdata=`curl -s -X GET -H "Authorization: sso-key ${gdapikey}" "https://api.godaddy.com/v1/domains/${mydomain}/records/A/${myhostname}"`
- gdip=`echo $dnsdata | cut -d ',' -f 1 | tr -d '"' | cut -d ":" -f 2`
- echo "`date '+%Y-%m-%d %H:%M:%S'` - Current External IP is $myip, GoDaddy DNS IP is $gdip"
- if [ "$gdip" != "$myip" -a "$myip" != "" ]; then
- echo "IP has changed!! Updating on GoDaddy"
- curl -s -X PUT "https://api.godaddy.com/v1/domains/${mydomain}/records/A/${myhostname}" -H "Authorization: sso-key ${gdapikey}" -H "Content-Type: application/json" -d "[{\"data\": \"${myip}\"}]"
- logger -p $logdest "Changed IP on ${hostname}.${mydomain} from ${gdip} to ${myip}"
- fi
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"