Arama Yap Mesaj Senden
Rückruf anfordern
+90
X
X

Wählen Sie Ihre Währung

Türkische Lira $ US Dollar Euro
X
X

Wählen Sie Ihre Währung

Türkische Lira $ US Dollar Euro

Wissensdatenbank

Startseite Wissensdatenbank Allgemein Veröffentlichen einer PHP- und Node...

Kontaktieren Sie uns

Standort Halkali Merkez Viertel Fatih Str. Ozgur Apt. No. 46, Kucukcekmece, Istanbul, 34303, TR

Veröffentlichen einer PHP- und Node.js-Website von einem Heimcomputer aus über Cloudflare Tunnel

Ein Leitfaden zum Veröffentlichen einer Website von Ihrem Heimcomputer aus

Warum eine Website von Ihrem Heimcomputer aus veröffentlichen?

Es ist eine ideale Lösung zum Veröffentlichen von Websites von Ihrem Heimcomputer aus, zum Erstellen schneller Demos und Prototypen, zum Teilen persönlicher Projekte und zum Erstellen einer Schulungs- und Testumgebung. Allerdings gibt es einige Einschränkungen: * Wenn der Computer ausgeschaltet ist, wird die Site geschlossen. * Die Upload-Geschwindigkeit im Internet zu Hause wirkt sich auf die Leistung aus. * VPS wird für kontinuierlichen und hohen Datenverkehr empfohlen.

Cloudflare-Tunnellogik

Cloudflare-Tunnel: Der Datenverkehr gelangt zuerst zu Cloudflare und wird dann von Cloudflare über den Tunnel an Ihren Computer weitergeleitet. Auf diese Weise wird der Port am Modem nicht geöffnet, die IP wird nicht in den Domainnamen geschrieben und HTTPS kommt automatisch.

Überblick über die Architektur

Die Architekturübersicht sieht wie folgt aus: * Nginx: Wiederherstellungs-Proxy * PHP-FPM: PHP-Ausführung * Node.js: API oder Dienst * Cloudflare Tunnel: Sicherer Ausgang zur Außenwelt

Domänennamen

Domänennamen lauten wie folgt: * site.com -> localhost:80 * api.site.com -> localhost:3000

Anforderungen

Die Anforderungen lauten wie folgt: * Domänenname * Cloudflare-Konto * Windows- oder Linux-Computer * Nginx * PHP-FPM * Node.js * Cloudflared

Schritt-für-Schritt-Installation

Linux-Installation

1) Systemaktualisierung

sudo apt update -y && sudo apt upgrade -y

2) Nginx + PHP-FPM

sudo apt install -y nginx php-fpm sudo systemctl enable nginx sudo systemctl start nginx
Test:
curl http://localhost

3) Node.js

curl -fsSL https://deb.nodesource.com/setup_20.x | sudo -E bash - sudo apt install -y nodejs node -v
Beispieldienst:
mkdir -p ~/nodeapi cd ~/nodeapi npm init -y npm i express printf "const express=require('express');const app=express();app.get('/',(r,s)=>s.send('ok'));app.listen(3000);" > index.js Knoten index.js

4) Nginx Reverse Proxy

sudo tee /etc/nginx/sites-available/site.com <<'EOF' server { listen 80; server_namesite.com; root /var/www/site; index index.php index.html; location / { try_files $uri $uri/ /index.php?$query_string; } location ~ \.php$ { include snippets/fastcgi-php.conf; fastcgi_pass unix:/run/php/php-fpm.sock; } } EOF sudo tee /etc/nginx/sites-available/api.site.com <<'EOF' server { listen 80; Servername api.site.com; Standort / { Proxy_pass http://127.0.0.1:3000; Proxy_http_version 1.1; Proxy_set_header Upgrade $http_upgrade; Proxy_set_header Verbindung 'Upgrade'; Proxy_set_header Host $host; } } EOF sudo ln -s /etc/nginx/sites-available/site.com /etc/nginx/sites-enabled/site.com sudo ln -s /etc/nginx/sites-available/api.site.com /etc/nginx/sites-enabled/api.site.com sudo nginx -t sudo systemctl nginx neu laden

5) Cloudflared

wget -q https://github.com/cloudflare/cloudflared/releases/latest/download/cloudflared-linux-amd64.deb sudo dpkg -i cloudflared-linux-amd64.deb cloudflared -v

6) Tunnelbau

cloudflared login cloudflared tunnel create mytunnel cloudflared tunnel route dns mytunnel site.com cloudflared tunnel route dns mytunnel api.site.com
`~/.cloudflared/config.yml`:
tunnel: mytunnel credentials-file: /home/user/.cloudflared/benimtunnel.json ingress: - hostname: site.com service: http://localhost:80 – Hostname: api.site.com Dienst: http://localhost:3000 – Dienst: http_status:404
cloudflared tunnel run mytunnel

Windows-Setup

1) Nginx + PHP

* Nginx für Windows herunterladen * PHP herunterladen und php.ini konfigurieren * Nginx auf Port 80 ausführen

2) Node.js

* Node.js installieren * Beispieldienst:

mkdir %USERPROFILE%\nodeapi cd %USERPROFILE%\nodeapi npm init -y npm i express node -e "const express=require('express');const app=express();app.get('/',(r,s)=>s.send('ok'));app.listen(3000)"

3) Nginx Reverse Proxy (Windows)

* Serverblöcke zu „nginx.conf“ hinzufügen und neu starten

4) Wolkenflair

* Cloudflared Windows-Binär-Download * Beispielbefehle: „html cloudflared -v cloudflared login cloudflared tunnel create mytunnel cloudflared tunnel route dns mytunnel site.com cloudflared tunnel route dns mytunnel api.site.com cloudflared tunnel run mytunnel „“

HTTPS und Sicherheit

HTTPS kommt automatisch, IP ist ausgeblendet und grundlegender WAF- und DDoS-Schutz ist aktiviert. Zusätzliche Empfehlungen: * Admin-Panels auf Subdomain belassen * Token-Verifizierung für API hinzufügen * Nginx-Ratenbegrenzung anwenden

Leistung

Leistung ist ausschlaggebend für die Upload-Geschwindigkeit. Für den Einsatz rund um die Uhr wird eine USV empfohlen.

FAQ

* Muss ich eine IP-Adresse eingeben? Nein * Werde ich einen Port öffnen? Nein * Ist es ohne meinen Domainnamen möglich? Das passiert bei einer temporären Testadresse. * Was passiert, wenn der Computer herunterfährt? Der Zugriff auf die Website ist unterbrochen. Mit dieser Methode können Sie Ihren Heimcomputer in einen sicheren Server verwandeln und Ihre PHP- und Node.js-Projekte der Welt zugänglich machen. Es ist die ideale Lösung für Lern-, Demo- und Kleinprojekte.

Finden Sie nicht die Informationen, die Sie suchen?

Ticket erstellen
Fanden Sie es nützlich?
(249 mal angesehen / 2 Kunden fanden es hilfreich)
Top