Wie Sie einen öffentlichen Webserver in Ihrem Haus mit Cloudflare erstellen

Was ist ein Webserver?

Ein Webserver ist Software- [Program/Software: the instructions that control what a computer does; computer programs] - und Hardware, die HTTP (Hypertext Transfer Protocol) oder HTTPS und andere Protokolle verwendet, um auf Client-Anfragen im World Wide Web zu reagieren. Der Hauptauftrag eines Webservers besteht darin, Inhalte der Website durch Speicherung, Verarbeitung und Bereitstellung von Webseiten an die Nutzer anzuzeigen. Neben HTTP oder HTTPS unterstützen Web-Server auch andere Protokolle, die mit verschiedenen Ports aufgerufen werden können, wie z.B. FTP oder SSH oder andere.

Webserver-Hardware ist mit dem Internet verbunden und ermöglicht den Datenaustausch mit anderen angeschlossenen Geräten, während Webserver-Software kontrolliert, wie ein Benutzer auf gehostete Dateien zugreifen. Der Webserver-Prozess ist ein Beispiel für das Client/Server-Modell. Alle Computer, die Websites Host müssen Web-Server-Software.

Webserver werden im Webhosting oder im Hosting von Daten für Websites und webbasierte Anwendungen verwendet.

Warum Cloudflare verwenden und was ist die Cloudflared Software?

Cloudflare ist ein amerikanisches Unternehmen, das Dienstleistungen wie ein DNS, ein Content- [Contents: every content intended as text, images, audio or video] - Delivery Network- [Network of Contents: is the channel in which owners can post their content and the audience can see the contents posted by the owners] - (CDN) und viele weitere Zusatzdienste bereitstellt, um Webseiten schneller und sicherer zu machen. Um zu verstehen, wie Cloudflare funktioniert, ist es notwendig, die häufig gemachten Fehler, die Websites in der Vergangenheit gemacht zu betrachten. Beim Besuch einer Website ohne Cloudflare fordert der Website-Besucher Inhalte von einem Server. Wenn es jedoch gleichzeitig zu viele Besucher auf dem Server gab, wurde der Server mit den Folgen einer langsamen oder nicht funktionierenden Website überlastet. Als Besitzer der Website ist dies nicht etwas, das Sie sehen möchten. Deshalb hat Cloudflare dafür eine Lösung erfunden. Cloudflare hat seinen eigenen Server in Form eines riesigen weltweiten Netzwerks zwischen der Website und dem Webserver platziert. Website-Besucher kommunizieren nicht mehr direkt mit dem Server, sondern mit dem Cloudflare-Netzwerk, das bereits die Inhalte der Website gespeichert hat und diese je nach Standort des Besuchers über einen Server lädt. Beispielsweise: Sie haben eine Website, die in Deutschland gehostet wird, und jemand aus den USA versucht, sich mit Ihrer Website zu verbinden. Die Anfrage muss einen großen Abstand zwischen Website und Webserver abdecken. Cloudflare löst dies durch ein riesiges Netzwerk von Servern auf der ganzen Welt. Der Amerikaner muss keine Verbindung mehr mit dem deutschen Server herstellen, aber er wird sich mit dem nächsten Cloudflare-Server irgendwo in den Vereinigten Staaten verbinden. Cloudflare Tunnels (oder Cloudflared Software) ist eine Art von VPN-Verbindung, da es eine sichere Möglichkeit, Ressourcen auf Ihrem internen privaten Netzwerk von der Außenwelt zuzugreifen. Der Unterschied mit Cloudflare Tunnels vs. Ihr traditionelles VPN ist, dass Sie keine Ports in Ihrer Firewall öffnen müssen. Mit VPN verbinden Sie sich mit Ihrem VPN-Server (oder manchmal direkt mit Ihrem Router) durch ein Loch, das Sie in Ihre Firewall gestoßen haben. Mit Cloudflare Tunnels installieren Sie einen Client in Ihrem Netzwerk, der eine sichere Verbindung zu Cloudflare unterhält. Sie erstellen dann verschiedene FQDNs (Fully Qualified Domain Names aka. DNS Namen aka. CNAME Datensätze), die mit Ihren internen Diensten assoziieren.

Wie ist das anzuwenden? Cloudflared zur Hostung einer Anwendung oder eines gesamten Webservers

Mit Cloudflare können Sie eine kleine Software verwenden, die einen Tunnel von Ihrer Hardware zu der Cloudflare Herkunft erstellt und diesen Tunnel zu Ihrem Port 80 oder 443 Ihrer Webserver Software verbinden; auf diese Weise können Sie auch diese Ports nicht zum Internet öffnen und die Firewall blockieren. Dies erhöht auch die Sicherheit und ermöglicht es Ihnen, Ihre IP-Adresse nicht außen offen zu legen. Um diese Art von Verbindung herzustellen, benötigen Sie ein Cloudflare-Konto und eine Top-Level-Domain, die gekauft oder mit Ihrem Konto verbunden ist. An diesem Punkt, um Ihren ersten Tunnel zu öffnen, müssen Sie über das Cloudflare-Dashboard auf die Konsole Ã1⁄4ber Ã1⁄4ber Ã1⁄4bergangen werden.

Die cloudflared Anwendung, als kann für jedes Betriebssystem hier heruntergeladen werden: https://developers.cloudflare.com/cloudflare-one/connections/connect-networks/downloads/

Starten Sie Ihren sicheren Tunnel
Sobald Cloudflared heruntergeladen wird, können Sie den ersten Tunnel einfach über Terminal oder Webui erstellen.

TERMINAL

Geben Sie diesen Befehl zur Authentifizierung ein:

$ cloudflared tunnel login

Erstellen Sie einen Tunnel und geben Sie ihm einen Namen:

$ cloudflared tunnel create 

Nehmen Sie von der Ausgabe des Befehls Kenntnis von der Tunnel-UUID und dem Pfad zu Ihrer Tunnel-Zugangsdatendatei.

Bestätigen Sie, dass der Tunnel erfolgreich durch Laufen erstellt wurde:

$ Cloudflared Tunnel Liste

Lesen Sie die offiziellen Dokumente, um einen Tunnel über Terminal zu erstellen:https://developers.cloudflare.com/cloudflare-one/connections/connect-networks/install-and-setup/tunnel-guide/local/

WEBUI

  1. Einloggen inNull Vertrauenund zu gehenZugang>Tunnel.
  2. AuswahlEinen Tunnel erstellen.
  3. Geben Sie einen Namen für Ihren Tunnel ein. Wir schlagen vor, einen Namen auszuwählen, der die Art der Ressourcen widerspiegelt, die Sie durch diesen Tunnel verbinden möchten (z.B.enterprise-VPC-01).
  4. AuswahlTunnel speichern.
  5. Als nächstes müssen Sie installierencloudflaredUnd führen Sie es. Um dies zu tun, überprüfen Sie, dass die Umwelt unterWählen Sie eine Umgebungreflektiert das Betriebssystem auf Ihrem Rechner, kopiert dann den Befehl im Feld unten und fügt ihn in ein Terminalfenster ein. Führen Sie den Befehl aus.
  6. Sobald der Befehl läuft, erscheint Ihr Stecker in Zero Trust.
  7. AuswahlNach vorne.

Lesen Sie die offiziellen Dokumente, um einen Tunnel über Webui zu erstellen:https://developers.cloudflare.com/cloudflare-one/connections/connect-networks/install-and-setup/tunnel-guide/remote/

Einrichtung einer HTTP- oder HTTPS-Verbindung zu Ihrem Webserver

Sobald der Tunnel erstellt ist, ist es einfach, einen Hostnamen mit dem Tunnel durch das Dashboard zu verbinden, in der Registerkarte "Netzwerke" können Sie bereits Ihren Tunnel mit dem Status "Gesund" registriert finden. Klicken Sie nun auf den Namen des Tunnels und klicken Sie auf die Schaltfläche "Hostname" im Register "Public Hostname" auf den Button "Public Hostname" und klicken Sie auf die Schaltfläche "Public Hostname" und wählen Sie im Feld "HTTP" oder "HTTPS" eine der primären Domains aus (der Unterschied zwischen den beiden ist im verwendeten Port und dem Kommunikationsprotokoll), wir empfehlen https zu verwenden, wenn der Server bereits mit einem Zertifikat konfiguriert ist); wenn Sie im Feld "Host" (HTTPS) wählen, müssen Sie localhost:80 (oder den Port Ihres Webservers oder Ihrer Anwendung) eingeben, wenn Sie im Feld "Host" die Option "Host" wählen. Wenn Ihr Webserver bereits mit Domains konfiguriert ist, die bereits in Cloudflare vorhanden sind, müssen Sie nichts anderes tun. Um eine Signle-Anwendung zu hosten, können Sie auch benutzerdefinierte Ports zum Beispiel 5000 oder 8080 verwenden, je nachdem, welche Portierung die Anwendung auf Ihrem Server verwendet.

So ist Ihre Anwendung nun über das Internet über die zuvor ausgewählte Domain erreichbar.

Konfigurationsempfehlungen

Wenn cloudflared eine Anfrage von einem WARP-Gerät erhält, nutzt es die Ports auf der Host-Maschine, um die Anfrage zu Ihrem Ursprungsservice zu bewerten und zu übermitteln. Jede Maschine nach Systemdesign ist auf maximal 65.535 Ports begrenzt. Zusätzlich hat jeder Dienst auf der Maschine eine begrenzte Anzahl von Ports, die er verbrauchen kann. Aus diesem Grund empfehlen wir folgendes Bereitstellungsmodell:

  • cloudflared sollte auf einer dedizierten Host-Maschine eingesetzt werden. Dieses Modell ist in der Regel geeignet, aber es kann serverlose oder Cluster-Workflows geben, wenn ein dedizierter Host nicht möglich ist.
  • Die Host-Maschine sollte 50.000 Ports für die Nutzung durch den Cloudflared-Dienst zuweisen. Die übrigen Häfen sind für Systemverwaltungsprozesse reserviert.

Um die Anzahl der verfügbaren Ports auf Linux zu erhöhen:

Wenn Ihr Rechner ein Verzeichnis /etc/sysctl.d/ hat:

Terminal window
echo 'net.ipv4.ip_local_port_range = 11000 60999' | sudo tee -a /etc/sysctl.d/99-cloudflared.conf
sudo sysctl -p /etc/sysctl.d/99-cloudflared.conf

Andernfalls:

Terminal window
echo 'net.ipv4.ip_local_port_range = 11000 60999' | sudo tee -a /etc/sysctl.conf
sudo sysctl -p /etc/sysctl.conf

Bei Linux und macOS bestimmen ulimit-Einstellungen die Systemressourcen, die einem eingeloggten Benutzer zur Verfügung stehen. Wir empfehlen die Konfiguration folgender Ulimits auf dem cloudflared Server: ≥ 70.000

Um Ihre aktuellen Umgrenzungen anzuzeigen, öffnen Sie ein Terminal und starten Sie:

Terminal window
ulimit -a

Um die geöffneten Dateien zu setzen:

Terminal window
ulimit -n 70000

Konfigurationsunterlagen von: https://developers.cloudflare.com/cloudflare-one/connections/connect-networks/deploy-tunnels/system-requirements/

Allgemeine Konfigurationsunterlagen für den Einsatz eines Tunnels: https://developers.cloudflare.com/cloudflare-one/connections/connect-networks/deploy-tunnels/

Warum wird Cloudflared empfohlen?

Die Software hat verschiedene Nutzungen; wir können einige von ihnen auflisten, sich vorstellen, zum Beispiel in einem Bereich der Welt, wo es kein Kabel-Internet gibt und einen Web-Server haben Sie für sehr teure Satelliten-Verbindungen bezahlen müssen oder 4g... Viele dieser Verbindungen verfügen nicht über ein öffentliches IP, weil sie ausgeblendet oder geschützt sind; mit cloudflared ist es möglich, diese Grenzen zu umgehen und noch im Internet zu übertragen, ohne Ihre IP-Adresse der Öffentlichkeit zu enthüllen. In der Besonderheit des Habens einer 4g oder 5g mobilen Verbindung und in der Lage, es überall zu tun (auch wenn die Kabelverbindung vorhanden ist) empfehlen wir immer noch die Verwendung dieser Verbindungen als à bersetzung und nicht als Hauptverbindung; der Grund ist, dass, wenn die Anbieter ungewöhnlichen Verkehr auf dem Mobilfunknetz sehen, sie auch begrenzen könnte. Der Einsatz von cloudflared beschränkt sich jedoch nicht darauf. Stellen Sie sich vor, zum Beispiel ein Netzwerk von Servern mit unterschiedlichen Funktionen zu erstellen, Sie könnten beispielsweise einen Webserver mit einer dedizierten Zeile und einen (oder mehr) Homestreaming-Server verwenden, der über cloudflared möglicherweise auch für eine Verbindung zu Datenbanken verbunden ist. Möglicherweise müssen einige Benutzer auf Ihre Anwendung zugreifen, die Sie normalerweise an einer Adresse wie http://localhost:8080 verwenden. Mit cloudflared können Sie dies tun, indem Sie einfach diesen Port in das Feld "Host" eingeben. Es ist auch möglich, mehrere Server mit einer einzigen Domain über Subdomains zu verbinden oder den Schutz des Zugangs durch Zwei-Faktor-Authentifizierung oder Benutzerposture-Authentifizierung (Gerät verwendet, ip, und mehr) einzurichten. Kurz gesagt, die Verwendung kann unterschiedlich sein. Achten Sie jedoch darauf, es korrekt zu verwenden, da Cloudflare regelmäßige Kontrollen durchführt und die Verwendung von Konten jederzeit deaktivieren kann.

Lesen Sie immer die offiziellen Dokumente

Wie ich vor einer Weile geschrieben habe, rate ich Ihnen, immer vom Beamten zu lesen und zu lernenCloudflareDokumente, weil diese Software auch Änderungen im Laufe der Zeit haben könnte. Dieses Dokument wird ohne offizielle Unterstützung vonCloudflareund ist als Beispiel für diejenigen gedacht, die in unserer Organisation arbeiten.