Eine Nginx vor allem: Ihre Node-App, ein API, ein Dashboard, ein Spielpanel. Fügen Sie kostenlose Let's Encrypt-Zertifikate hinzu, die sich erneuern, und verbinden Sie WebSockets ohne Schmerzen.
Erstellen Sie einen A-Record: app.example.com → YOUR_SERVER_IPWarten Sie ein paar Minuten und überprüfen Sie vom Server:
getent hosts app.example.com
certbot wird kein Zertifikat ausstellen, bis DNS Punkte auf Ihrem Server.
apt update && apt install -y nginx certbot python3-certbot-nginx
ufw allow 80/tcp
ufw allow 443/tcp
cat > /etc/nginx/sites-available/app <<'EOF'
server {
listen 80;
server_name app.example.com;
location / {
proxy_pass http://127.0.0.1:3000;
proxy_http_version 1.1;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "upgrade";
proxy_read_timeout 300s;
}
}
EOF
ln -s /etc/nginx/sites-available/app /etc/nginx/sites-enabled/app
rm -f /etc/nginx/sites-enabled/default
nginx -t && systemctl reload nginx
Die beiden Upgrade Linien ermöglichen WebSockets; die lange Lesezeit verhindert, dass langsame Verbindungen (SSE, lange Umfragen, Spielfelder) nach 60 Sekunden unterbrochen werden. Ersetzen 127.0.0.1:3000 Mit welchem port auch immer ihre app zuhört.
certbot --nginx -d app.example.com --redirect -m [email protected] --agree-tos
certbot bearbeitet die Konfiguration, fügt den 443-Block hinzu, installiert einen Erneuerungs-Timer und setzt HTTP → HTTPS-Redirect. Überprüfung der Erneuerungsarbeiten:
certbot renew --dry-run
systemctl list-timers | grep certbot
Eine weitere App auf Port 3001? Kopieren Sie den Serverblock, ändern server_name und proxy_passFühren Sie Certbot erneut aus. Ein Nginx kann Dutzende von Websites halten - ein 6,5-Euro-Server behandelt sie leicht.
Bevorzugen Sie noch weniger Config? Caddy macht HTTPS mit zwei Zeilen - Nginx gewinnt, wenn Sie eine gute Kontrolle über Header, Caching und Timeouts benötigen.
nginx -t
tail -f /var/log/nginx/error.log
curl -I https://app.example.com
502 bedeutet, dass nginx in ordnung ist, aber ihre app ist unten oder auf dem falschen port. 404 mit einer falschen seite bedeutet, dass ein anderer site-block die anfrage abfängt - überprüfen. server_name.
Für den Standard-Browserzugriff - ja, Sie benötigen einen Plan mit einem dedizierten IPv4, da Let's Encrypt Ihre Domain auf Port 80 oder 443 validiert. Z3z-pläne mit weitergeleiteten ports funktionieren für bots, tunnel und vpns, nicht für öffentliche websites.
Ja, und sie erneuern sich automatisch alle 60 tage über die systemd timer certbot-installationen. Es ist kein bezahltes tier für eine normale website erforderlich.
Nicht UDP-Verkehr - Nginx spricht nur HTTP. Spiele verwenden ihre eigenen Ports und öffnen sie stattdessen direkt in der Firewall.
Holen Sie sich einen Server mit einem dedizierten IPv4 - Pläne starten bei €6.5/Monat.