Verwenden Sie Cloudflare Tunnel, um Ihren Ubuntu Home Server (Docker) zu veröffentlichen!

Verwenden Sie Cloudflare Tunnel, um Ihren Ubuntu Home Server (Docker) zu veröffentlichen!

Ich habe ursprünglich einen XServer -VPS verwendet, aber aufgrund mangelnder Speicher habe ich zu viele Betriebskosten entstanden, daher plane ich, meinen Heim -PC als Server zu verwenden, um ihn auf Cloudflare -Tunnel

Die folgenden PCs wurden für meinen Heimserver verwendet:
Es ist ein Mini -PC, der heutzutage populär geworden ist. Es hat eine ziemlich technische Daten für rund 50.000 Yen im Verkauf, und es nimmt nicht viel Platz ein, selbst wenn es zu Hause platziert ist, also ist es ziemlich gut! (Es gibt viele verschiedene Hersteller, aber Minisrum scheint gut zu sein.)

Inhaltsverzeichnis

Registrieren Sie sich als Cloudflare -Konto

Ich werde das nicht erklären, aber bitte registrieren Sie sich als Cloudflare -Konto.
Wenn Sie nur CloudFlare -Tunnel verwenden, wäre der kostenlose Plan in Ordnung.

Zusätzlich ist eine separate Domäne erforderlich.
Wenn Sie Ihre Domain noch nicht registriert haben, registrieren Sie sich bitte über "Domänenregistrierung> Domains Register".
Es ist in Ordnung, eine Domain mit Oneame.com oder XServer VPS zu erhalten.

Registrieren Sie die Website

Sobald Sie die Domain erhalten haben, verlinken Sie sie bitte mit der Domäne von "Site hinzufügen".

Installieren Sie Cloudflared auf Ubuntu

Von hier aus arbeiten Sie an dem Server, den Sie veröffentlichen möchten.
Installieren Sie Cloudflared auf Ubuntu.

  1. Cloudflare -Paket -Signierschlüssel hinzugefügt
sudo mkdir -p ---mode = 0755/usr/share/keyrings curl -fssl https://pkg.cloudflare.com/cloudflare-main.gpg | sudo tee /usr/share/keyrings/cloudflare-main.gpg>/dev/null
  1. CloudFlare APT Repository hinzugefügt
echo "Deb [signiert-by =/usr/share/keyrings/cloudflare-main.gpg] https://pkg.cloudflare.com/cloudflare Jammy Main" | sudo tee /etc/apt/sources.list.d/cloudflare.list

Dieser Befehl wurde aus dem offiziellen Verfahren geändert. Dies liegt daran, dass im neuesten Repository kein Wolkenflatchen vorhanden ist.
Offizielles "echo" deb [signed-by =/usr/share/keyrings/cloudflare-main.gpg] https://pkg.cloudflare.com/cloudflare $ (lsb_release -cs) main "|

Fehler: 10 https://pkg.cloudflare.com/Cloudflare Noble Release 404 Nicht gefunden [IP: 2606: 4700 :: 6812: 176 443] Ladenpaketliste ... Fertig E: Repository https://pkg.cloudflare.com/cloudflare. N: Die Aktualisierungen sind standardmäßig deaktiviert, da Aktualisierungen nicht sicher aus einem solchen Repository erfolgen. N: Weitere Informationen zum Erstellen eines Repositorys und zum Einrichten eines Benutzers finden Sie auf der Seite APT-Secure (8) Mann.
  1. Aktualisieren Sie das Repository und installieren Sie Cloudflared
sudo APT-GET-Update && sudo apt-Get Installieren Sie Cloudflared

Melden Sie sich bei CloudFlare an

Ich glaube, ich konnte Cloudflared installieren.
Ich möchte einen Tunnel oder etwas mit einem Befehl erstellen, also melde ich mich bei CloudFlare an.

  1. Melden Sie sich bei CloudFlare an
Wolkenflügeltunnel -Login

Der Browser zeigt Ihnen, ob Sie es zulassen möchten. Stellen Sie daher sicher, dass die Zieldomäne zuzulassen.
Wenn es erlaubt ist, würde es so aussehen:

$ Cloudflared Tunnel Anmeldung Ein Browserfenster hätte in der folgenden URL geöffnet sein sollen: https: // ****** Wenn der Browser nicht geöffnet wurde, besuchen Sie bitte die URL oben direkt in Ihrem Browser. Sie haben sich erfolgreich angemeldet. Wenn Sie Ihre Anmeldeinformationen auf einen Server kopieren möchten, wurden sie auf: /home /****** gespeichert.

Erstellen Sie einen Cloudflare -Tunnel

Sobald Sie angemeldet sind, werden Sie mit dem Erstellen eines Tunnels beginnen.
Dies kann auch mit dem Befehl erstellt werden.

  1. Erstellen Sie einen Cloudflare -Tunnel
Cloudflared Tunnel erstellen [beliebigen Namen] Tunnel -Anmeldeinformationen, die auf /home/********.json geschrieben wurden. Cloudflared Wählen Sie diese Datei anhand, an der Ihr Ursprungszertifikat gefunden wurde. Halten Sie diese Datei geheim. Um diese Anmeldeinformationen zu widerrufen, löschen Sie den Tunnel. Erstellte Tunnel ***** mit id *****

Der "JSON -Pfad" und "ID" werden in der Konfigurationsdatei verwendet, also speichern Sie ihn.

Erstellen Sie eine Konfigurationsdatei

Erstellen Sie als Nächstes eine Konfigurationsdatei. Insbesondere werden wir den Tunnelinhalt auflisten.

  1. Erstellen einer Konfigurationsdatei (diesmal verwendet Docker 81 Ports, also Tunnel Localhost: 81.)
$ sudo mkdir -p/etc/Cloudflared $ CD Cloudflared/$ sudo nano config.yml $ cat config.yml URL: http: // localhost: 81 Tunnel: [ID mit Cloudflared Tunnel erstellen)] Anmeldeinformationen -Dateien: [JSON -Path (mit Cloudflared Tunnel Creating)]]

Starten Sie das Routing

  1. Weisen Sie Datensätze zu, die den CNAME -Verkehr dem Tunnel -Subdomain übertragen
Cloudflared Tunnel Route DNS [ID] [Domäne] 2024-11-03T14: 32: 58Z Inf.

Tunnel starten

Sobald Sie dies getan haben, können Sie den Tunnel starten.

  1. Tunnellauf laufen lassen
Cloudflared Tunnel Run [ID]

Ich denke, Ihr Heimserver ist jetzt für die Öffentlichkeit zugänglich!

Starten Sie CloudFlare mit dem Dienst

In diesem Fall wird der Tunnel nicht gestartet, es sei denn, der Befehl wird gestartet. Registrieren Sie ihn daher als Dienst.

  1. Erstellen Sie eine Servicekonfiguration (geben Sie die Tunnel -ID für [ID] ein).
$ sudo nano /etc/systemd/system/cloudflared
  1. Starten Sie den Service
  2. Service ändern, um aktiviert zu werden
$ sudo systemctl dämon-reload $ sudo systemctl starten cloudflared $ sudo systemctl aktivieren cloudflared

Wenn das System jetzt abgelaufen ist, funktioniert der Tunnel weiter.

Teilen Sie, wenn Sie möchten!

Wer hat diesen Artikel geschrieben

Dies ist ein Blog, in dem ich angefangen habe, Informationssicherheit zu studieren. Als neuer Angestellter würde ich mich freuen, wenn Sie mit einem breiten Herzen schauen könnten.
Es gibt auch Teech Lab, das eine Gelegenheit ist, Programmierspaß zu studieren. Wenn Sie also an der Softwareentwicklung interessiert sind, sollten Sie sich unbedingt ansehen!

Inhaltsverzeichnis