Webseite HTTPS mit VServer?

GreenTigerEye

New Member
Hallo liebe Community,

ich habe eine Webseite und habe diese auf meinen V-Server(feste IP-Adresse) mit "A" weitergeleitet. Nun möchte ich gerne statt einer Http eine HTTPS Verbindung herstellen. Ich nutze Apache2.
Ist dies überhaupt möglich? Wie macht man das normalerweise, wenn man seine eigenen Server hat und der Traffic trotzdem über Https abgesichert werden soll?

PS: Meine Webseite funktioniert nämlich nicht mit PHP, sondern mit Dart und MongoDB und das unterstützen soweit ich weiß keine Hoster. An der Auswahl möchte ich jedoch auch nichts ändern.

Viele Grüße
GreenTigerEye
 
Ja ich habe auch eins installiert, aber lets encrypt und so wollen immer einen domain namen haben und dadurch ist die verbindung zum VServer mit einer festen Ip-Adresse nicht abgesichert und google zeigt an dass das SSL-Zertifikat ungültig ist.
 
Zertifikate lauten immer auf eine Domain und nicht auf eine IP-Adresse. Wenn du im DNS für deine Domain einen A-Record mit der IP des Servers angelegt hast, sollte das soweit passen. Ggfl. mußt du noch in deiner Webserver-Konfiguration einen virtuellen Host für deine Domain anlegen, der dann auf das Verzeichnis deiner Webseite zeigt. Das Zertifikat stellst du dann auf deine Domain aus und gibst im Browser auch nur deine Domain ein und nicht die IP deines Servers.
 
Okay da liegt glaub ich das Problem. Da ich auch Anfragen an die MongoDB mache und diese über die Ip adresse direkt aufrufe.
Kann man die Datenbank irgendwie auch über den Domainnamen aufrufen? Der Webserver liegt nämlich bei meinem VServer auf dem Port 443 oder so und die MongoDB auf 8080 (ebenfalls VServer).

PS: Kann man später bei mehreren V-Servern mehrere A-Recorde erstellen und der DNS Server weißt dann immer eine beliebige IP-Adresse (von den V-Servern) davon dem Client zu? Und gibt es eine obere Grenze an A-Records?
 
Last edited by a moderator:
Ich habe bisher noch nicht mit MongoDB und Dart zu tun gehabt. Aber greifst du denn über Port 8080 überhaupt vom Browser aus zu oder machen das nur deine Dart-Scripts und generieren daraus eine Webseite? Bei letzterem benötigst du ja nur ein Zertifikat für deinen Webserver.
 
a ich auch Anfragen an die MongoDB mache und diese über die Ip adresse direkt aufrufe.
8080 ist ein seltsamer Port für Mongodb, sicher dass du damit Mongodb und nicht Mongoadmin oder ein anderes Admin-Werkzeug für Mongodb meinst?
Üblich sind 2017-2019 je nach Einsatzzweck und Clusterumgebung.

Kann man die Datenbank irgendwie auch über den Domainnamen aufrufen?
IP-Adresse und Domainname sind bei so ziemlich allen Diensten ausser HTTP-Verkehr äquivalent. Mongo und seine Adminwerkzeuge können idR problemlos per Domainname angeredet werden.

Kann man später bei mehreren V-Servern mehrere A-Recorde erstellen und der DNS Server weißt dann immer eine beliebige IP-Adresse (von den V-Servern) davon dem Client zu?
Du redest hier vermutlich von cheap-man balancing, also dass die Anfragen an mehrere Server verteilt werden. Das funktioniert halbwegs, ist aber alles andere als eine genau Aufteilung insbesondere da DNS-Resolver cachen.
Je nach Art des Dienstes, kann ein externer Anbieter wie bspw Cloudflare Loadbalancing für dich hilfreich sein. Kostet aber eine Kleinigkeit.
 
Auf dem Port 8080 liegt eher mein Server den ich mit Dart geschrieben habe. Aber das stellt auch kein Problem da, welcher Dienst da läuft?!

Weil wenn ich in meinem Dart script www.example.de:8080/addUser benutze, welches beim Client aufgerufen wird. Leitet mein Hoster dies nicht an meine IP-Adresse weiter die ich im A-Rekord angegeben habe. Es scheint so als ob durch den A-Rekord nicht andere Ports weitergereicht werden.

Was kann ich da machen? Weil ich muss es ja anscheind über den domainnamen aufrufen damit https funktioniert.

Es scheint ja nur www.example.de:443 zu funktionieren, welches dann über den A-Rekord an meinen V-Server weitergeleitet wird.
 
Last edited by a moderator:
Ein A-Record im DNS liefert zu einem FQDN immer eine IP--Adresse zurück. Sofern du per HTTPS auf einen Nicht-Standard-Port zugreifst, mußt du den Port natürlich explizit angeben - ohne Port wird im Falle von HTTPS Port 443 verwendet (und bei http Port 80).
Wenn ich dich richtig verstehe, verwendest du auf Port 8080 keinen HTTP-Server, der dein Dart-Script aufruft, sondern dein Dart-Script ist der Server. Im dem Fall muß dein Dart-Script auf dem Server auch die Verschlüsselung per Zertifikat bereitstellen - ggfl. ließe sich das aber auch z.B. durch Apache httpd oder nginx als Reverse-Proxy, der dazwischen geschaltet wird, abhandeln.
Und wenn dein Client kein Webbrowser ist, sondern von dir selbst geschrieben wurde, muß der sich natürlich um die Namensauflösung kümmern, dann eine HTTPS-Verbindug zu Port 8080 der ermittleten IP aufmachen und die jeweilige Datei anfordern.
 
Es scheint so als ob durch den A-Rekord nicht andere Ports weitergereicht werden.
Ein A-Record "leitet" ausnahmslos alle Ports weiter, das Problem liegt somit auf Deinem System.

Dein System ist also falsch konfiguriert: Bitte "Firewall" und Dienste prüfen.
 
Back
Top