Zum Inhalt springen
Alle Anleitungen

Apps ·

Redis-Cache einrichten und über TLS verbinden

Ein verwaltetes Redis bestellen, Host, Port und Passwort finden und per rediss:// aus redis-cli, Node und Python mit geprüftem Zertifikat verbinden. Mit IP-Zulassungsliste und Key-Browser.

Ein verwaltetes Redis ist der schnellste Cache oder Session-Speicher, den du einer Anwendung hinzufügen kannst: bestellen, Verbindungs-String kopieren, Framework darauf zeigen. Unseres ist über TLS mit einem öffentlich vertrauten Zertifikat erreichbar, dein Client prüft den Server also wie eine Website. Diese Anleitung bestellt eines und verbindet sich aus redis-cli, Node und Python.

Was du brauchst

  • Ein Headpat-Space-Konto mit bestätigter E-Mail-Adresse und ausgefüllten Rechnungsdaten.
  • Einen Redis-Client, der TLS kann. Alle aktuellen können es.

1. Redis bestellen

  1. Melde dich im Panel an, öffne Apps in der Seitenleiste und klicke auf App erstellen.
  2. Suche unter Vorlage nach Redis und wähle es aus.
  3. Wähle unter Paket zwischen cache und persistent. Ein Cache hält alles nur im Speicher; ein Neustart leert ihn, was für Sessions und zwischengespeicherte Seiten in Ordnung ist. Persistent schreibt ein Append-only-Log auf die Platte und kommt nach einem Neustart mit seinen Daten zurück; nimm es für Warteschlangen, Zähler oder alles, was du vermissen würdest.
  4. Trage einen Anzeigenamen ein, wähle bei Bedarf eine Version, hake das Kästchen an, dass die Einrichtung sofort beginnen darf, klicke auf App bereitstellen und schließe die Zahlung ab.

Die Instanz ist innerhalb einer Minute bereit. Warte, bis die App-Seite sie als laufend zeigt.

2. Verbindungsdaten finden

Öffne die App unter Apps. Die Karte Datenbank-Verbindung zeigt Host und Port. Der Port ist ein eigener, nicht 6379, und der Hostname ist für deine Instanz eindeutig. Klicke auf Anzeigen neben Zugangsdaten, um das Passwort und den Verbindungs-String zu sehen:

rediss://:DEIN_PASSWORT@DEIN_HOST:DEIN_PORT/0

Beachte das doppelte s in rediss://: es sagt dem Client, TLS zu benutzen. Jedes Feld hat einen Kopierknopf. Behandle das Passwort wie jedes andere Geheimnis.

3. Mit redis-cli verbinden

redis-cli --tls --sni DEIN_HOST -h DEIN_HOST -p DEIN_PORT -a DEIN_PASSWORT

--sni ist wichtig: das Zertifikat wird nach dem Hostnamen ausgewählt, den der Client ankündigt, und redis-cli kündigt ohne diese Option keinen an. Ohne sie scheitert der Handshake mit einem Zertifikatfehler. Die meisten anderen Clients senden den Hostnamen von sich aus.

redis-cli nutzt die vertrauten Zertifizierungsstellen deines Betriebssystems. Auf einem minimalen Linux-Image ohne dieses Bündel zeigst du ausdrücklich darauf: --cacert /etc/ssl/certs/ca-certificates.crt. Dann erscheint der Prompt; PING antwortet PONG.

4. Aus der Anwendung verbinden

Die meisten Bibliotheken nehmen den Verbindungs-String, wie er ist, meist aus einer Umgebungsvariable:

REDIS_URL=rediss://:DEIN_PASSWORT@DEIN_HOST:DEIN_PORT/0

Node mit ioredis:

import Redis from "ioredis";

const redis = new Redis(process.env.REDIS_URL);
await redis.set("greeting", "hello");
console.log(await redis.get("greeting"));

Python mit redis-py:

import os
import redis

r = redis.from_url(os.environ["REDIS_URL"])
r.set("greeting", "hello")
print(r.get("greeting"))

Beide prüfen das Serverzertifikat gegen die vertrauten Wurzeln des Systems und den Hostnamen. Nichts herunterzuladen, kein Schalter, der die Prüfung abstellt. Verlangt eine ältere Bibliothek eine CA-Datei, gib ihr das Bündel deines Betriebssystems; das Zertifikat führt auf eine öffentliche Wurzel zurück.

Zugriff einschränken

Standardmäßig nimmt die Instanz Verbindungen von jeder Adresse an, die das Passwort kennt. Auf der App-Seite grenzt die Karte IP-Zulassungsliste das auf die eingetragenen Adressen ein, etwa die IP deines Anwendungsservers. Adresse eintragen, speichern, und die Karte zeigt den eingeschränkten Zugriff.

Hineinschauen

Die Karte Datenbankkonsole auf der App-Seite hat einen Reiter Keys, der Keys nach Muster mit Typ und Restlaufzeit auflistet, und einen Reiter Befehle, der jeden Redis-Befehl ausführt. Praktisch, um zu prüfen, dass deine Anwendung schreibt, was du erwartest; siehe Datenbank im Panel durchsuchen und abfragen.

Gut zu wissen

  • Das Zertifikat stammt von Let's Encrypt und wird automatisch erneuert; Verbindungen werden durch eine Erneuerung nicht unterbrochen.
  • Redis hat keine Benutzer, nur das eine Passwort. Es zu wechseln bedeutet derzeit eine neue Instanz; halte das Passwort aus Repositories und Bildschirmfotos heraus.
  • Speicher ist die Ressource, die zählt. Die Karte CPU & Arbeitsspeicher zeigt, wie nah du am Limit bist. Redis wird nicht angewiesen, selbst Keys zu verwerfen; wächst es über das Paket hinaus, wird es neu gestartet, und ein Cache-Paket startet leer. Lass Keys ablaufen, die du nicht ewig brauchst, und erweitere, bevor die Linie oben flach wird.
  • Sicherungen folgen dem Paket: eine persistente Instanz wird nach dem Zeitplan in der Karte Sicherungen per Snapshot gesichert, ein Cache hat nichts, was sich zu sichern lohnt.

Bereit, es auszuprobieren?

Brauchst du Hilfe?

Wenn etwas aus dieser Anleitung bei dir nicht klappt, schreib uns und wir helfen dir weiter.

Kontakt aufnehmen