Top-Themen

Aktuelle Themen (A bis Z)

Administrator.de FeedbackApache ServerAppleAssemblerAudioAusbildungAuslandBackupBasicBatch & ShellBenchmarksBibliotheken & ToolkitsBlogsCloud-DiensteClusterCMSCPU, RAM, MainboardsCSSC und C++DatenbankenDatenschutzDebianDigitiales FernsehenDNSDrucker und ScannerDSL, VDSLE-BooksE-BusinessE-MailEntwicklungErkennung und -AbwehrExchange ServerFestplatten, SSD, RaidFirewallFlatratesGoogle AndroidGrafikGrafikkarten & MonitoreGroupwareHardwareHosting & HousingHTMLHumor (lol)Hyper-VIconsIDE & EditorenInformationsdiensteInstallationInstant MessagingInternetInternet DomäneniOSISDN & AnaloganschlüsseiTunesJavaJavaScriptKiXtartKVMLAN, WAN, WirelessLinuxLinux DesktopLinux NetzwerkLinux ToolsLinux UserverwaltungLizenzierungMac OS XMicrosoftMicrosoft OfficeMikroTik RouterOSMonitoringMultimediaMultimedia & ZubehörNetzwerkeNetzwerkgrundlagenNetzwerkmanagementNetzwerkprotokolleNotebook & ZubehörNovell NetwareOff TopicOpenOffice, LibreOfficeOutlook & MailPapierkorbPascal und DelphiPeripheriegerätePerlPHPPythonRechtliche FragenRedHat, CentOS, FedoraRouter & RoutingSambaSAN, NAS, DASSchriftartenSchulung & TrainingSEOServerServer-HardwareSicherheitSicherheits-ToolsSicherheitsgrundlagenSolarisSonstige SystemeSoziale NetzwerkeSpeicherkartenStudentenjobs & PraktikumSuche ProjektpartnerSuseSwitche und HubsTipps & TricksTK-Netze & GeräteUbuntuUMTS, EDGE & GPRSUtilitiesVB for ApplicationsVerschlüsselung & ZertifikateVideo & StreamingViren und TrojanerVirtualisierungVisual StudioVmwareVoice over IPWebbrowserWebentwicklungWeiterbildungWindows 7Windows 8Windows 10Windows InstallationWindows MobileWindows NetzwerkWindows ServerWindows SystemdateienWindows ToolsWindows UpdateWindows UserverwaltungWindows VistaWindows XPXenserverXMLZusammenarbeit

gelöst NGINX soll Domainname nicht IP zurückgeben

Mitglied: pixel24

pixel24 (Level 2) - Jetzt verbinden

12.12.2019 um 21:37 Uhr, 421 Aufrufe, 13 Kommentare

Hallo zusammen,

ich versuche mich gerade an NGINX als Reverse-Proxy um verschiedene Server per HTTP (später HTTPS) im LAN von extern über eine Subdomain der externen Domain welche gehostet ist zu erreichen.

Die Ausgangssituation:

Gateway/Firewall im LAN ist ein aktueller IPFire, dort habe ich eine feste WAN-IP z.B. 10.20.30.40.
[IPFire]
WAN: 10.20.30.40
LAN: 192.168.xx.254

Auf dem externen Webserver (bei All-Inkl) habe ich enstprechende Subdomains eingerichtet und weitergeleitet:

gw.mydomain.com -> http://10.20.30.40
cloud.mydomain.com -> http://10.20.30.40

der Einfachheit halber teste ich es gerade nur mit einer. (gw.mydomain.com). Diese soll an:

[Server1]
LAN: 192.168.xx.5

im LAN weiter gegeben werden. Hierzu habe ich auf dem IPFire das AddOn "NGINX" installiert. Die Konfiguration ist derzeit:
Wenn ich nun von extern im Browser "http://gw.mydomain.com" aufrufe lande ich auch auf dem Webserver der auf 192.168.xx.5 läuft. Jedoch steht in der Adresszeile im Browser nicht "gw.mydomain.com" sondern die WAN-IP vom IFirre (10.20.30.40).

Ist das normal bzw. lässt sich das ändern?

Viele Grüße
pixel24
Mitglied: serial
LÖSUNG 13.12.2019, aktualisiert um 07:51 Uhr
Auf dem externen Webserver (bei All-Inkl) habe ich enstprechende Subdomains eingerichtet und weitergeleitet:

gw.mydomain.com -> http://10.20.30.40
cloud.mydomain.com -> http://10.20.30.40
Nicht "weiterleiten", sondern entsprechenden A-Record im DNS anlegen.
Bitte warten ..
Mitglied: pixel24
13.12.2019 um 08:36 Uhr
Prima. Funktioniert. Herzlichen Dank! Jetzt möchte ich das ganze mit SSL (LetsEncrypt) machen und habe noch ein paar Grundlegende Fragen zu LetsEncrypt. Kann ich die einfach hier stellen oder besser einen neuen Beitrag?
Bitte warten ..
Mitglied: serial
13.12.2019, aktualisiert um 08:55 Uhr
Vielleicht erst mal grundlegend selbst Informieren, Lets encrypt ist sehr gut dokumentiert
https://www.digitalocean.com/community/tutorials/how-to-secure-nginx-wit ...
Bitte warten ..
Mitglied: pixel24
13.12.2019 um 09:13 Uhr
Ja, die Doku kenne ich bereits. Wo ich noch ein Verständnis-Problem habe ob ich es auf allen beteiligten System installieren muss. Beispiel:

Auf der Firewall/Router der über eine fixe WAN-IP verfügt läuft wie o.g. NGINX als Reverse-Proxy. Der soll selbst keine Webseiten anbieten sondrn nur durchleiten und anhand der aufgerufenen Subdomain entscheiden auf welchen internen Server es geht. Auf diesen muss natürlich LetsEncrypt installiert und eingerichtet sein.

Auf dem IPFire auch? Der lauscht ja gerade (ich habe es wieder deaktiviert) auf Port 80 was natürlich Unsinn ist. Sobald ich in der NGINX-Config jedoch HTTPS (443) einrichte (so verstehe ich zumindest die Doku) braucht der auf diesem Host auch Zertifikate. das würde darauf hindeuten dass ich hier auch LetsEncrypt einrichten muss, oder?
Bitte warten ..
Mitglied: serial
13.12.2019, aktualisiert um 10:30 Uhr
Zitat von pixel24:

Ja, die Doku kenne ich bereits. Wo ich noch ein Verständnis-Problem habe ob ich es auf allen beteiligten System installieren muss. Beispiel:
Nein, ist nicht zwingend nötig.
Auf der Firewall/Router der über eine fixe WAN-IP verfügt läuft wie o.g. NGINX als Reverse-Proxy.
Der bekommt das Zertifikat.
Der soll selbst keine Webseiten anbieten sondrn nur durchleiten
Richtig aber er ist die erste Instanz mit der der Client Kontakt aufnimmt und die Kommunikation muss schon verschlüsselt sein, deswegen kommt auf ihn das Zertifikat.
und anhand der aufgerufenen Subdomain entscheiden auf welchen internen Server es geht. Auf diesen muss natürlich LetsEncrypt installiert und eingerichtet sein.
Falsch, intern kann der Nginx problemlos auch über http mit dem internen Server kommunizieren, SSL ist hier keine Pflicht (würde es aber trotzdem per Skript rüberkopieren und einrichten), trotzdem kommuniziert der Client über SSL da ja der NGINX der Übergabepunkt ist.


Auf dem IPFire auch?
Nein.
Der lauscht ja gerade (ich habe es wieder deaktiviert) auf Port 80 was natürlich Unsinn ist.
Die Firewall macht nur das Portforwarding und ist nicht an höheren TCP Layern beteiligt.
Port 80 benötigst du damit Letsencrypt die Verifizierung von deinem Server abrufen kann (kannst du gleich mit auf dem Nginx abfackeln.
Bitte warten ..
Mitglied: pixel24
16.12.2019 um 13:02 Uhr
Eine prinzipielle Frage zur Zertifikat-Aufstellung habe ich noch. Ich richte LetsEncrypt auf der Firewall ein bzw. erstelle dort ja die Zertifikate da hier ja auch NGINX läuft. Dieser Host ist intern unter gateway01.localdomain.lan / IP: 192.168.xx.254 lokal erreichbar.

Muss ich für diesen auch einen A-Record beim Provider anlegen der auf die feste WAN-IP zeigt damit er von extern unter gateway01.mydomain.com zeigt?

gateway01.mydomain.com -> 10.20.30.40

Ich habe Gestern - als ich nach einem Problem mit dem ACME-Package unter PFSense recherchiert habe - irgendwo einen solchen Hinweis gelesen
Bitte warten ..
Mitglied: pixel24
16.12.2019 um 13:17 Uhr
und was sich mir aus der Doku auch nicht erschließt da ich ja nicht auf dem externen Webserver installiere sondern auf dem lokalen Gateway:

Für die Zertifikate arbeite ich ja mit meiner externen Domain "mydomain.com". Und es werden ja für diverse Hosts:

- gw.mydomain.com
- cloud.mydomain.com
....

Zertifikate ausgestellt. Später kommt ja ggf. auf dem externen Webserver eine Webseite dazu was ja dann:

www.mydomain.com

ist und auch ein Zertifikat braucht. Ich installiere ja jetzt auf meinem lokalen Gateway und gebe hier an:

also die externe Domain "mydomain.com"

Kann ich dann später trotzdem noch auf dem Webserver LetsEncrypt einrichten und auch hier angeben dass es die "mydomain.com" ist.

Oder habe ich da einen Denkfehler?
Bitte warten ..
Mitglied: serial
16.12.2019 um 13:46 Uhr
Zitat von pixel24:

Eine prinzipielle Frage zur Zertifikat-Aufstellung habe ich noch. Ich richte LetsEncrypt auf der Firewall ein bzw. erstelle dort ja die Zertifikate da hier ja auch NGINX läuft. Dieser Host ist intern unter gateway01.localdomain.lan / IP: 192.168.xx.254 lokal erreichbar.

Muss ich für diesen auch einen A-Record beim Provider anlegen der auf die feste WAN-IP zeigt damit er von extern unter gateway01.mydomain.com zeigt?
Die Domain für die du Zertifikate ausstellen willst muss auf deine WAN IP zeigen. Denn die Domain prüft Let's Encrypt ja bei der Verifizierung indem es auf Port 80 im Root des Webservers der dort lauscht eine Datei im Verzeichnis .well-known/acme-challenge abruft.
Bitte warten ..
Mitglied: serial
LÖSUNG 16.12.2019, aktualisiert um 13:50 Uhr
Zitat von pixel24:

also die externe Domain "mydomain.com"

Kann ich dann später trotzdem noch auf dem Webserver LetsEncrypt einrichten und auch hier angeben dass es die "mydomain.com" ist.

Oder habe ich da einen Denkfehler?
Alle Domains für die du ein Zertifikat ausstellen willst musst du entweder per A-Record oder CNAME auf deinen WAN leiten wo er dann auf deine Let's Encrypt -Instanz geleitet wird wenn du zur Verifizierung die Web-Methode nutzt und z.B. nicht mit DNS TXT Records arbeitest, denn Let's Encrypt verifiziert alle Domains auf Vorhandensein des Challenges im o.g. well-known Folder.
Bitte warten ..
Mitglied: pixel24
16.12.2019 um 14:48 Uhr
Ok, denke verstanden. Was mich im o.g. Beispiel verwirrt ist:
Für mich war www immer ein Host und example.com die Domain und hier wird als Beispiel für einen Domainnamen der FQHN verwendet
Bitte warten ..
Mitglied: serial
LÖSUNG 16.12.2019, aktualisiert um 14:52 Uhr
Zitat von pixel24:

Ok, denke verstanden. Was mich im o.g. Beispiel verwirrt ist:
Für mich war www immer ein Host und example.com die Domain und hier wird als Beispiel für einen Domainnamen der FQHN verwendet
Im FQDN für URLs gibt es keinen Host-Teil, www ist hier nur eine Subdomain von example.com. Bei URLs gilt das DNS-System
Bitte warten ..
Mitglied: pixel24
16.12.2019 um 15:41 Uhr
und die hoffentlich abschließende Frage. Im Handbuch zu PFSense/ steht:

Validation Methods

Let’s Encrypt can validate by checking the contents of a TXT record in DNS, or by fetching a file in a known location from a web server running on the hostname it is validating.

nsupdate

The nsupdate method uses RFC2136 style DNS updates to populate a TXT record in DNS to validate ownership of the domain.

We recommend using this method as it does not require external inbound access, so it can be used for internal systems that do not allow or cannot receive Internet traffic.

Before starting, an appropriate DNS key and settings must be in place in the DNS infrastructure for the domain to allow the host to update a TXT DNS record for _acme-challenge.<domain name>.


Hier wird die Validierung per nsupdate empfohlen. Das bedeutet dann für meine Konstellation:

- Auf dem externen Webserver auf welchem die Domain ja gehostet ist und der somit auch die Kontrolle über die DNS-Domain hat füge ich einen TXT-Record mit:
hinzu der auf die öffentliche IP-Adresse des Webserver beim ISB zeigt und nicht auf die WAN-IP des Gateways, oder?
Bitte warten ..
Mitglied: serial
16.12.2019, aktualisiert um 16:00 Uhr
Zitat von pixel24:
Hier wird die Validierung per nsupdate empfohlen. Das bedeutet dann für meine Konstellation:

- Auf dem externen Webserver auf welchem die Domain ja gehostet ist
und der somit auch die Kontrolle über die DNS-Domain hat
Bist du sicher das der Webserver/GW auch der Nameserver deiner Domain ist???? Da du ja vorher einen A-Record bei deinem Provider gesetzt hast gehe ich nämlich nicht davon aus, denn in dem Fall steht der Nameserver ja natürlich bei deinem Domain-Hoster...!!!


füge ich einen TXT-Record mit:
hinzu der auf die öffentliche IP-Adresse des Webserver beim ISB zeigt und nicht auf die WAN-IP des Gateways, oder?
Völlig falsch, du solltest dir dringend nochmal die DNS Grundlagen verinnerlichen.

Der TXT-Record der im DNS des für die Domain zuständigen Nameservers hinterlegt wird enthält keine IP Adresse sondern den Challenge den Let's Encrypt beim validieren erzeugt und diesen dann vom Nameserver abruft um zu überprüfen das du tatsächlich der Inhaber der Domain bist. Dieser Record wird nicht einmalig angelegt sondern muss per Skript/API dynamisch am Nameserver angelegt werden, da der Challenge ja jedes mal anders ist!

Wenn du also deinen Nameserver nicht selbst betreibst wovon ich bei deinem Wissensstand nicht ausgehe brauchst du für die Validierung per DNS einen API-Zugang deines DNS-Providers, sofern dieser das überhaupt anbietet. Hast du das nicht, bleibt dir nur die Web-Methode über den Abruf des Challenges aus dem .well-known Verzeichnis wenn du es automatisiert haben willst.

Dringend erst mal lesen wie das System überhaupt funktioniert
https://www.digitalocean.com/community/tutorials/an-introduction-to-let- ...
Bitte warten ..
Ähnliche Inhalte
Webentwicklung
NGINX uri rewrite
gelöst Frage von maddigWebentwicklung4 Kommentare

Hallo zusammen, ich brauch mal wieder Hilfe mit der nginx Syntax. Ich hab eine Anwendung die sich intern so ...

Firewall
NGINX mit Kerberos
Frage von helldunkelFirewall8 Kommentare

Hi, kennt sich hier jemand mit erweiterter NGINX Konfiguration aus? Unser Ziel ist es einen Reverse Proxy zu bauen ...

Linux Tools
Problem mit nginx-ReverseProxy
Frage von DexthaLinux Tools1 Kommentar

Hallo, ich möchte aus Performance-Gründen einen nginx-ReverseProxy anstatt meines Apache-ReverseProxy einsetzen. Soweit funktioniert das ganze auch, nur habe ich ...

Webentwicklung
Nginx Redirect je nach Pfad
gelöst Frage von certifiedit.netWebentwicklung1 Kommentar

Guten Morgen, ich sitze gerade noch an einem kleinen Problem mit nginx Redirects. Ziel ist es, dass beim Zugriff ...

Neue Wissensbeiträge
Router & Routing

Statische Route dauerhaft einrichten unter Ubuntu 18.04 LTS

Erfahrungsbericht von the-buccaneer vor 11 StundenRouter & Routing2 Kommentare

"Kann ja nicht so schwer sein, unter Ubuntu 18.04 LTS ne statische Route einzurichten", denkt der Windows-Admin und gelegentliche ...

Microsoft

Effect on customer websites and Microsoft services and products in Chrome version 80 or later

Information von Dani vor 17 StundenMicrosoft

Guten Abend zusammen, The Stable release of the Google Chrome web browser (build 80, scheduled for release on February ...

Drucker und Scanner

Kyocera PCL Barcode Flash SD v3.0 Firmware Update installieren

Tipp von Mana vor 3 TagenDrucker und Scanner1 Kommentar

Ich hatte eine vorhandene "PCL Barcode Flash SD v3.0 Type D/E", die bisher in einem Kyocera FS-4200DN verbaut war. ...

Sicherheit
0-day Schwachstelle im Internet Explorer
Information von kgborn vor 7 TagenSicherheit3 Kommentare

In Microsofts Internet Explorer gibt es eine 0-day Schwachstelle in der Scripting Engine, die faktisch alle Browser- und Windows-Versionen ...

Heiß diskutierte Inhalte
Windows Server
Gruppenrichtlinie Basisordner
Frage von opc123Windows Server18 Kommentare

Hallo, es gibt ja die GPO "User Basis Ordner" Ich habe diese auf ein Netzlaufwerk aktiviert. Der Ordner wird ...

Batch & Shell
Verschlüsselung von Dateien über .bat
gelöst Frage von ShadowmindBatch & Shell12 Kommentare

Guten tag miteinander! Ich arbeite zurzeit an einem Decoder/Coder in der Batch syntax, um verschiedene Dateien zu verschlüsseln. Leider ...

CPU, RAM, Mainboards
Was macht eine CPU mit einer Milliarde Transistoren?
Frage von UserUWCPU, RAM, Mainboards10 Kommentare

Jede Generation hat mehr Transistoren, heute werden ein oder auch mehrere Milliardem erreicht. Gleichzeitig nimmt die Taktfrequenz kaum noch ...

Exchange Server
Exchange 2019, kein Mailflow mehr möglich, extern sowie intern
Frage von desmondjamesExchange Server10 Kommentare

Hey Leute, ich habe da ein kleines Problem bei einem Exchange Server . Infos zum Server: Version 15.2 ‎(Build ...