NGINX (kein Docker) - mehrere Subdomains, davon eine ausschließlich lokal erreichbar machen. Wo ist mein Denkfehler?

  • An "Server: fritz.box" siehst Du, dass diesen Namen Deine fritz.box "intern" aufgelöst hat. Das hilft hier leider nicht.
    1.1.1.1 ist z.B. der DNS von Cloudflare. Über den könntest Du die "externe" IP abfragen:

    Code
    nslookup <sub1>.<meineDomain>.de 1.1.1.1
    Code

    Wenn da bei allen Domänen und Subdomänen dieselbe IP-Adresse herauskommt, dann sind die DNS-Einträge beim Hoster in Ordnung.
    Dann sind als nächster die fritz.box und der NGINX dran.

    DAs habe ich jetzt geprüft. Es kommt bei der Domain und den dazugehörigen Subdomains dieselbe IP-Adresse heraus. Es ist eine andere als die von gestern Abend, aber das liegt an der Zwangstrennung.

    Was kann/muss ich in der Fritzbox nachgucken/abfragen?

    Anschließend gucke ich, wieweit ich die NGINX-Konfigurationsdateien "abgespeckt" und anonymisiert hier rein stellen kann.

    Vielen Dank auf jeden Fall für die nach wie vor vorhandene Hilfsbereitschaft.

    Gruss

    GUMeyer

    ni pas ni

    tu car tu

    mal tu mal

  • NGINX (kein Docker) - mehrere Subdomains, davon eine ausschließlich lokal erreichbar machen. Wo ist mein Denkfehler?? Schau mal ob du hier fündig wirst!

  • "fritz.box" dürfte zum LAN gehören.

    Ja.

    Code
    :~$ host -t a heise.de fritz.box
    Using domain server:
    Name: fritz.box
    Address: 192.168.178.1#53
    Aliases: 
    
    heise.de has address 193.99.144.80

    Und die FritzBox benutzt dann entweder die DNS-Server vom Internet-Provider oder fremde DNS-Server (evtl. auch via DoT), je nach Konfiguration.

    The most popular websites without IPv6 in Germany.  IPv6-Ausreden

    Meine PIs

    PI4B/8GB (border device) OpenBSD 7.4 (64bit): SSH-Server, WireGuard-Server, ircd-hybrid-Server, stunnel-Proxy, Mumble-Server

    PI3B+ FreeBSD 14.0-R-p3 (arm64): SSH-Serv., WireGuard-Serv., ircd-hybrid-Serv., stunnel-Proxy, Mumble-Serv., ddclient

    PI4B/4GB Bullseye-lite (64bit): SSH-Server, WireGuard-Server, ircd-hybrid-Server, stunnel-Proxy, Mumble-Server, botamusique, ample

    PI3B OpenBSD 7.4 (64bit), mit stayauth-Flag 24/7 im Wlan

  • Was kann/muss ich in der Fritzbox nachgucken/abfragen?

    Anschließend gucke ich, wieweit ich die NGINX-Konfigurationsdateien "abgespeckt" und anonymisiert hier rein stellen kann.

    Wie sind die Ausgaben von:

    Code
    dig -x 84.184.119.3 +short @1.1.1.1
    dig -x 84.184.119.3 +short @192.168.178.1
    dig -x $(dig a <sub1>.<meineDomain>.de +short @9.9.9.9) +short @1.1.1.1
    dig -x $(dig a <sub1>.<meineDomain>.de +short @192.168.178.1) +short @192.168.178.1

    ?

    The most popular websites without IPv6 in Germany.  IPv6-Ausreden

    Meine PIs

    PI4B/8GB (border device) OpenBSD 7.4 (64bit): SSH-Server, WireGuard-Server, ircd-hybrid-Server, stunnel-Proxy, Mumble-Server

    PI3B+ FreeBSD 14.0-R-p3 (arm64): SSH-Serv., WireGuard-Serv., ircd-hybrid-Serv., stunnel-Proxy, Mumble-Serv., ddclient

    PI4B/4GB Bullseye-lite (64bit): SSH-Server, WireGuard-Server, ircd-hybrid-Server, stunnel-Proxy, Mumble-Server, botamusique, ample

    PI3B OpenBSD 7.4 (64bit), mit stayauth-Flag 24/7 im Wlan

  • Ab jetzt kann ich es kaum noch anonymisieren. Aber eigentlich ist es auch egal (hinter beiden URL sind Inhalte (teillweise noch in Arbeit) hinterlegt).

    Wie sind die Ausgaben von:

    Code
    dig -x 84.184.119.3 +short @1.1.1.1
    dig -x 84.184.119.3 +short @192.168.178.1
    dig -x $(dig a <sub1>.<meineDomain>.de +short @9.9.9.9) +short @1.1.1.1
    dig -x $(dig a <sub1>.<meineDomain>.de +short @192.168.178.1) +short @192.168.178.1

    ?

    Code
    pi@artspace-meyer:~ $ dig -x 84.184.119.3 +short @1.1.1.1
    p54b87703.dip0.t-ipconnect.de.

    Die 192.168.178.1 scheint bei mir nicht zu funktionieren, deshalb der Ersatz:

    Code
    pi@artspace-meyer:~ $ dig -x 84.184.119.3 +short @192.168.1.1
    p54b87703.dip0.t-ipconnect.de.
    Code
    pi@artspace-meyer:~ $ dig -x $(dig a v3dg.artspace-meyer.de +short @9.9.9.9) +short @1.1.1.1
    dig: '.de.artspace-meyer.in-addr.arpa.' is not a legal name (empty label)

    Die 192.168.178.1 scheint bei mir nicht zu funktionieren, deshalb der Ersatz:

    Code
    pi@artspace-meyer:~ $ dig -x $(dig a v3dg.artspace-meyer.de +short @192.168.1.1) +short @192.168.1.1
    dig: '.de.artspace-meyer.in-addr.arpa.' is not a legal name (empty label)
    pi@artspace-meyer:~ $

    Für mich sieht es so aus, dass auch die Fritzbox alles richtig macht.

    Dann müsste ich jetzt mal die Config-Dateien vom NGINX anfassen. Das dauert aber länger.

    Gruss

    GUMeyer

    ni pas ni

    tu car tu

    mal tu mal

  • Code
    pi@artspace-meyer:~ $ dig -x $(dig a <sub-domain>.<domain>.de +short @192.168.1.1) +short @192.168.1.1
    dig: '.de.<domain>.in-addr.arpa.' is not a legal name (empty label)

    Für mich sieht es so aus, dass auch die Fritzbox alles richtig macht.

    Ja, die FritzBox macht das, was andere (externe) DNS-Server auch machen (... weil sie in diesem Anwendungsfall, ein DNS-Forwarder ist).

    EDIT:

    Z. B.:

    Code
    :~$ dig -x $(dig a forum-raspberrypi.de +short @192.168.178.1)  +short @192.168.178.1
    vwp1092.webpack.hosteurope.de.

    The most popular websites without IPv6 in Germany.  IPv6-Ausreden

    Meine PIs

    PI4B/8GB (border device) OpenBSD 7.4 (64bit): SSH-Server, WireGuard-Server, ircd-hybrid-Server, stunnel-Proxy, Mumble-Server

    PI3B+ FreeBSD 14.0-R-p3 (arm64): SSH-Serv., WireGuard-Serv., ircd-hybrid-Serv., stunnel-Proxy, Mumble-Serv., ddclient

    PI4B/4GB Bullseye-lite (64bit): SSH-Server, WireGuard-Server, ircd-hybrid-Server, stunnel-Proxy, Mumble-Server, botamusique, ample

    PI3B OpenBSD 7.4 (64bit), mit stayauth-Flag 24/7 im Wlan

    Edited once, last by rpi444 (November 14, 2023 at 9:58 AM).

  • Jetzt kommt das große ABER: So wie ich das sehe, "übersetzt" die FB die Anfragen von außen auf die IP des RPi (was ja grundsätzlich auch richtig ist). Allerdings läuft damit in der VHOST-Config sowohl der allowed from <localnet> als auch der deny all schief. Denn selbst Anfragen von außen werden ja spätestens ab der FB als interne Anfragen weitergegeben.

    Das heißt für mich, entweder habe ich in der Konfiguration der FB einen Fehler (welchen?) oder in der Konfiguration vom RPi (welchen?) Das ist der Punkt, der mich noch immer nicht weiter kommen lässt. Wo ist das mein Denkfehler?

    Gruss

    GUMeyer

    Zeig doch mal deine Config vom nginx.

    Ich nutze den Apache und habe da für jede domain eine eigene conf Datei.
    Vielleicht ist es nur ein Tipfehler oder ähnliches.

    BTW: Wenn du auf die Interne Domain auch über <intern>.<meinedomain>.de zugreifst, auch von Innen, kommst du auf dem Webserver immer mit der öffentlichen IP an.
    Dann sperrst du dich mit der deny any dort selber aus.

    Also, entweder der DNS-Server von Ionos gibt bei <intern>.<meinedomain>.de die INTERNE Ip des PI zurück, also z.B. 192.168.178.xx
    oder du musst die Domain im Nginx auf den <namen vom raspberry>.fritz.box ändern und dann darüber zugreifen. Dann bleibt alles Intern und die allow/deny regel greift.

    Offizieller Schmier und Schmutzfink des Forum.
    Warum einfach wenn's auch schwer geht ?

    Kein Support per PN !
    Fragen bitte hier im Forum stellen. So hat jeder etwas davon.

  • Denn 192.168/16 sind private Adressen, die nicht geroutet werden.

    Das müssen sie ja auch nicht, wenn die Anfrage im (W)LAN/Subnetz der eigenen FritzBox erfolgt.

    Für interne Zwecke habe ich Einträge in der /etc/hosts gemacht.

    ja, aber nicht nur in einer einzigen hosts-Datei, oder?

    Das musst Du dann bei jedem (lokalen) Client, in seiner /etc/hosts-Datei, gemacht haben.

    The most popular websites without IPv6 in Germany.  IPv6-Ausreden

    Meine PIs

    PI4B/8GB (border device) OpenBSD 7.4 (64bit): SSH-Server, WireGuard-Server, ircd-hybrid-Server, stunnel-Proxy, Mumble-Server

    PI3B+ FreeBSD 14.0-R-p3 (arm64): SSH-Serv., WireGuard-Serv., ircd-hybrid-Serv., stunnel-Proxy, Mumble-Serv., ddclient

    PI4B/4GB Bullseye-lite (64bit): SSH-Server, WireGuard-Server, ircd-hybrid-Server, stunnel-Proxy, Mumble-Server, botamusique, ample

    PI3B OpenBSD 7.4 (64bit), mit stayauth-Flag 24/7 im Wlan

  • Das müssen sie ja auch nicht, wenn die Anfrage im (W)LAN/Subnetz der eigenen FritzBox erfolgt.

    Das ist ja das, was ich möchte.

    ja, aber nicht nur in einer einzigen hosts-Datei, oder?

    Das musst Du dann bei jedem (lokalen) Client, in seiner /etc/hosts-Datei, gemacht haben.

    Und das ist nicht praktikabel bei mir, da ich z.B. die /etc/hosts-Datei in den Android-Smartphones oder auch dem Amazon-Tablet (die sollen alle auf die interne Domain zugreifen können) nicht bearbeitenkann.

    ni pas ni

    tu car tu

    mal tu mal

  • Das ist ja das, was ich möchte.

    ...

    Und das ist nicht praktikabel bei mir, da ich z.B. die /etc/hosts-Datei in den Android-Smartphones oder auch dem Amazon-Tablet (die sollen alle auf die interne Domain zugreifen können) nicht bearbeitenkann.

    Ich glaube, da gibt es etwas Verwirrung.
    Wenn Du nur im internen (W)LAN (lokal!) unterwegs bist, also Clients und Server hängen alle an der FritzBox, dann brauchst Du ja keinen DynDNS. Die internen IPs ändern sich ja nicht.
    Ich habe aber noch nicht raus, wie man der FritzBox DNS beibringt. Dann müsstest Du in Deinem Netz wohl einen eigenen DNS einrichten.
    Wenn Du von Smartphones schreibst, nehme ich aber an, dass Du sehr wohl auch von "extern", also irgendwo aus dem Internet darauf zugreifen willst. Da kommt dann DynDNS ins Spiel. Das kann dann aber keine privaten 192.168/16-Adressen benutzen.
    Das sind zwei verschiedene Wege, die getrennt zu betrachten sind.

    Wie auch immer, Deine ursprüngliche Frage war ja die nach den Subdomänen.
    Wenn Du, egal über Ionos oder sonstwie, die richtige IP bekommst (und der Port passt und keine Firewall blockiert ...), landet der Request auf dem richtigen Server beim NGNIX. Und der muss dann anhand der Header in den Request die Subdomänen erkennen und entsprechend weiterleiten.

  • Ich glaube, da gibt es etwas Verwirrung.
    Wenn Du nur im internen (W)LAN (lokal!) unterwegs bist, also Clients und Server hängen alle an der FritzBox, dann brauchst Du ja keinen DynDNS. Die internen IPs ändern sich ja nicht.

    Das stimmt.

    Wenn Du von Smartphones schreibst, nehme ich aber an, dass Du sehr wohl auch von "extern", also irgendwo aus dem Internet darauf zugreifen willst. Da kommt dann DynDNS ins Spiel. Das kann dann aber keine privaten 192.168/16-Adressen benutzen.
    Das sind zwei verschiedene Wege, die getrennt zu betrachten sind.

    Nein, keine Sorge. Ein zugriff von "extern" ist dafür nicht vorgesehen - auch die Smartphones nicht. Die sind neben den "mobilen Daten" auch standardmäßig im WLAN (der Fritzbox) und ausschließlich dafür soll der Aufruf funktionieren.

    Wie auch immer, Deine ursprüngliche Frage war ja die nach den Subdomänen.
    Wenn Du, egal über Ionos oder sonstwie, die richtige IP bekommst (und der Port passt und keine Firewall blockiert ...), landet der Request auf dem richtigen Server beim NGNIX. Und der muss dann anhand der Header in den Request die Subdomänen erkennen und entsprechend weiterleiten.

    Und genau an dieser Stelle sitze ich gerade. Zumindest bin ich beruhigt, dass es wohl auf ein Konfigurationsproblem hinaus läuft - das lässt sich mit meinem Wissen und eurer Unterstützung sicherlich lösen.

    ni pas ni

    tu car tu

    mal tu mal

  • Nein, keine Sorge. Ein zugriff von "extern" ist dafür nicht vorgesehen - auch die Smartphones nicht. Die sind neben den "mobilen Daten" auch standardmäßig im WLAN (der Fritzbox) und ausschließlich dafür soll der Aufruf funktionieren.

    Njein. Die Domänen-Namen müssen ja trotzdem aufgelöst werden.

    Ich kenne eine DNS-Funktion der FritzBox nicht (lasse mich da aber gerne belehren). Da Einträge in einer /etc/hosts nicht möglich sind und es sonst wohl keinen eigenen DNS gibt, können sie ja nur vom Ionos-DNS aufgelöst werden. Sie sind ja sonst nirgendwo bekannt.
    Damit werden sie vom Ionos-DNS über die externe-IP bei IPv4 immer zur IP der FritzBox aufgelöst. Die leitet die Request dann entsprechend der Port-Weiterleitung weiter.
    Bei IPv6 könnte das auch direkt auf den RasPI gehen.
    D.h. die Zugriffe über die Domänen-Namen gehen hier immer über "extern".

  • Ich kenne eine DNS-Funktion der FritzBox nicht (lasse mich da aber gerne belehren).

    Was genau meinst Du mit "DNS-Funktion" der FritzBox? Evtl. das registrieren eines a-Records in der FritzBox? Wenn ja, das geht z. B. mit nsupdate auf einem Client im W/LAN der FritzBox:

    Code
    :~# host -t a pisel.fritz.box
    pisel.fritz.box has address 192.168.178.111
    Code
    :~ % doggo -4 -t a pisel --short @192.168.178.1
    192.168.178.111

    The most popular websites without IPv6 in Germany.  IPv6-Ausreden

    Meine PIs

    PI4B/8GB (border device) OpenBSD 7.4 (64bit): SSH-Server, WireGuard-Server, ircd-hybrid-Server, stunnel-Proxy, Mumble-Server

    PI3B+ FreeBSD 14.0-R-p3 (arm64): SSH-Serv., WireGuard-Serv., ircd-hybrid-Serv., stunnel-Proxy, Mumble-Serv., ddclient

    PI4B/4GB Bullseye-lite (64bit): SSH-Server, WireGuard-Server, ircd-hybrid-Server, stunnel-Proxy, Mumble-Server, botamusique, ample

    PI3B OpenBSD 7.4 (64bit), mit stayauth-Flag 24/7 im Wlan

  • Was genau meinst Du mit "DNS-Funktion" der FritzBox? Evtl. das registrieren eines a-Records in der FritzBox? Wenn ja, das geht z. B. mit nsupdate auf einem Client im W/LAN der FritzBox:

    ...

    Ja, das würde mich sehr interessieren!
    Gibt es dazu mehr Information in der FRITZ!Box Wissensdatenbank?
    Gefunden habe ich DNS-Auflösung privater IP-Adressen nicht möglich . Da ist mir allerdings nicht klar, ob sich das nur auf die 7390 bezieht.
    Wo findet sich diese DNS-Pflege im FB-GUI?
    Ich würde mir gerne erst die Einträge ansehen und dafür einen AXFR machen. Wie geht das?

    Nachtrag:
    Unter "Netzwerk" lassen sich ja FB-"Verbindungen" Namen geben. Vielleicht macht das dasselbe wie der "nsupdate".

    Edited once, last by pisel (November 14, 2023 at 9:22 PM).

  • Zurück zum Thema.

    Nein, keine Sorge. Ein zugriff von "extern" ist dafür nicht vorgesehen - auch die Smartphones nicht. Die sind neben den "mobilen Daten" auch standardmäßig im WLAN (der Fritzbox) und ausschließlich dafür soll der Aufruf funktionieren.

    Die Namensauflösung macht also die FB. Die Domäne ist damit fritz.box.

    @GUMeyer braucht für seine Webserverdienste Subdomänen, damit der NGNIX auf die verschiedenen Dienste umleiten kann.

    Lassen sich in der FB zu einer IP mehrere verschiedene Hostnamen eintragen? Das entspräche dann den Subdomänen.

  • Lassen sich in der FB zu einer IP mehrere verschiedene Hostnamen eintragen?

    Ja:

    The most popular websites without IPv6 in Germany.  IPv6-Ausreden

    Meine PIs

    PI4B/8GB (border device) OpenBSD 7.4 (64bit): SSH-Server, WireGuard-Server, ircd-hybrid-Server, stunnel-Proxy, Mumble-Server

    PI3B+ FreeBSD 14.0-R-p3 (arm64): SSH-Serv., WireGuard-Serv., ircd-hybrid-Serv., stunnel-Proxy, Mumble-Serv., ddclient

    PI4B/4GB Bullseye-lite (64bit): SSH-Server, WireGuard-Server, ircd-hybrid-Server, stunnel-Proxy, Mumble-Server, botamusique, ample

    PI3B OpenBSD 7.4 (64bit), mit stayauth-Flag 24/7 im Wlan

  • Ihr denkt alle viel zu kompliziert.

    er will noch zusätzlich zu den public Domains eine Interne Domain haben, auf welche nur Intern zugegriffen werden kann.

    Also entweder der Public DNS löst die externe Domain in eine private Adresse auf oder

    der lokale DNS (Fritzbox) löst eine Interne Domain auf , <raspiname>.fritz.box, wofür es einen VHOST gibt.
    Drops gelutscht.

    Dritte alternative ist die interne Domain auch von außen erreichbar zu machen und via .htaccess mit Passwort zu schützen,

    oder eine eigene CA mit Client Auth. So hab ich das. (Das wird jedoch nicht einfach wenn man noch nie mit Zeritfikaten rum gemacht hat)

    Offizieller Schmier und Schmutzfink des Forum.
    Warum einfach wenn's auch schwer geht ?

    Kein Support per PN !
    Fragen bitte hier im Forum stellen. So hat jeder etwas davon.

  • Ja:

    Klasse! Danke!
    Ich suche immer noch nach offizieller Doku.

    Ihr denkt alle viel zu kompliziert.

    Ich glaube, wir meinen eigentlich alle dasselbe.

    Also entweder der Public DNS löst die externe Domain in eine private Adresse auf oder ...

    <Besserwisser-Modus>Der Public DNS kann nicht zu privaten Adressen (192.168/16) auflösen. In #55 wird z.B. <sub1>.<meineDomain>.de zu 84.184.119.3 aufgelöst. Das ist eine IP der Telekom, das ist dann wohl der Provider. Das ist dann immer die aktuelle "externe" IP der FB.</Besserwisser-Modus>

    Dritte alternative ist die interne Domain auch von außen erreichbar zu machen ...

    Das war das Thema in #73 . "Interne" Domänen <raspiname>.fritz.box kann nur die eigene Fritzbox auflösen. Soll <sub1>.<meineDomain>.de aufgelöst werden, ist das wieder das erste Szenario über den IONOS DNS.
    Lt. #76 wird ja nicht "von außen" zugegriffen.

    ... und via .htaccess mit Passwort zu schützen,

    oder eine eigene CA mit Client Auth. So hab ich das. (Das wird jedoch nicht einfach wenn man noch nie mit Zeritfikaten rum gemacht hat)

    Sicherheit und Zertifikate sind ein eigenes Thema. Das würde ich angehen, wenn die anderen Fragen geklärt sind.
    Da spielt auch eine wichtige Rolle, ob der Weg über die "öffentliche" Domäne <meineDomain>.de gewählt wird, oder über die "private" Domäne "fritz.box".
    Im ersten Fall könnten Zert.s ggf. über Let’s Encrypt bezogen werden, im zweiten nicht.

  • Der Public DNS kann nicht zu privaten Adressen (192.168/16) auflösen.

    Das kann er schon, aber er merkt ziemlich schnell um was es geht und dann ist Schluss mit der Auflösung:

    Code
    curl -k -X PUT -u "<email>:<token>" -d '{"ip_address":"192.168.178.111"}' https://api.twodns.de/hosts/<hostname>.diskstation.org
    Code
    :~$ host <hostname>.diskstation.org 9.9.9.9
    Using domain server:
    Name: 9.9.9.9
    Address: 9.9.9.9#53
    Aliases: 
    
    <hostname>.diskstation.org has address 192.168.178.111

    The most popular websites without IPv6 in Germany.  IPv6-Ausreden

    Meine PIs

    PI4B/8GB (border device) OpenBSD 7.4 (64bit): SSH-Server, WireGuard-Server, ircd-hybrid-Server, stunnel-Proxy, Mumble-Server

    PI3B+ FreeBSD 14.0-R-p3 (arm64): SSH-Serv., WireGuard-Serv., ircd-hybrid-Serv., stunnel-Proxy, Mumble-Serv., ddclient

    PI4B/4GB Bullseye-lite (64bit): SSH-Server, WireGuard-Server, ircd-hybrid-Server, stunnel-Proxy, Mumble-Server, botamusique, ample

    PI3B OpenBSD 7.4 (64bit), mit stayauth-Flag 24/7 im Wlan

Participate now!

Don’t have an account yet? Register yourself now and be a part of our community!