
Dies ist wahrscheinlich das braunste, aber nützlichste Nginx-Reverse-Proxy-Tutorial, das Sie je gesehen haben!
Reverse-Proxy in Lastverteilung diese Sache zu engagieren, mit der Eröffnung eines Hot-Pot-Restaurant, um die Zubereitung von Lebensmitteln Meister einen Grund zu finden. Wenn Sie das Gemüse nicht im Hinterzimmer schneiden können, holen Sie sich ein paar mehr Köche, die abwechselnd das Fleisch hacken. Nginx ist der Vorarbeiter, der die Aufgaben verteilt, aber wenn der Vorarbeiter müde wird, muss der ganze Laden dichtmachen. Heute werden wir die Proxy-IP von ipipgo als Boardmaster verwenden und Ihnen zeigen, wie der Vorarbeiter nicht nur Energie sparen, sondern auch die Spitzenzeiten überstehen kann.
Basiskonfiguration: Reverse Proxy ist nicht nur eine neue Weste
Viele Neulinge denken, dass die Änderung eines proxy_pass-Parameter, auch wenn die Reverse-Proxy, die wie ein Hot-Pot-Restaurant hinter Küche hängen eine "zentrale Küche" Zeichen ist. Um wirklich den Verkehr zu tragen, müssen Sie die drei wichtigsten Parameter zu erinnern:
| Parameter | Lebenswert | lebenserhaltender Wert |
|---|---|---|
| proxy_connect_timeout | Standard 60s | 5s |
| proxy_read_timeout | Standard 60s | 15s |
| proxy_send_timeout | Standard 60s | 15s |
Wenn Sie den Proxy-IP-Pool von ipipgo einbinden, wird empfohlen, dieproxy_next_upstreamKonfiguration. So ist es beispielsweise ein lebensrettender Trick, automatisch zum nächsten Knoten zu wechseln, wenn ein IP-Knoten mit mehr als 500 Statuscodes antwortet.
IP-Pool-Management: Setzen Sie nicht alles auf eine Karte
Ich habe zu viele Leute gesehen, die Proxy-IPs als Wegwerf-Essstäbchen benutzen und sie wegwerfen, wenn sie fertig sind. Der IP-Pool von ipipgo hat mehr als 90 Millionen Ressourcen, aber man muss in der Lage sein, die Fische zu füttern:
(1) Dynamische IP-Rotationszeiträume können je nach den Einstellungen für Geschäftsspitzen nicht nach Minuten abweichen.
(2) Static IP sollte regelmäßige Gesundheitschecks durchführen und nicht warten, bis etwas schief läuft, um das herauszufinden.
3. die Rechte an geistigem Eigentum verschiedener Regionen werden getrennt verwaltet, z. B. können Gurken aus dem Nordosten und Eintopf aus Chongqing nicht in einem Topf geschmort werden.
Es wird empfohlen, die Nginx-eigeneKartenmodulIP-Gruppierung und getrennte Planung von Knoten in verschiedenen Ländern von ipipgo. Zum Beispiel sind europäische Knoten auf Bildanfragen spezialisiert, während amerikanische Knoten Videoströme bearbeiten.
Verbindungsoptimierung: Lassen Sie den Vorarbeiter nicht den Spießrutenlauf machen
Der standardmäßige Kurzverbindungsmodus von Nginx ist so, als ob der Vorarbeiter für jedes Gericht, das er reicht, einen Abstecher in die hintere Küche machen müsste. Das Hinzufügen dieser beiden Parameter spart sofort Aufwand:
keepalive 32; //Anzahl der aufrechterhaltenen langen Verbindungen keepalive_timeout 60s; //Timeout für die Aufrechterhaltung der Verbindung
Beachten Sie, dass dieser Wert mit dem des ipipgo-Proxy-Knotens übereinstimmen mussMaximale GleichzeitigkeitÜbereinstimmen. Wenn der Knoten nur 20 Gleichzeitigkeiten übertragen kann, ist die Einstellung 32 hier ein Todeswunsch.
Caching-Strategie: ein guter Speicher ist besser als ein schlechter
Reverse Proxy Caching ist nicht nur eine Frage des Öffnens eines proxy_cache, sondern eine Frage der Haltung:
- Dynamischer Inhalt: 5 Sekunden kurzer Cache + Validierungsheader
- Statische Ressourcen: hierarchische Zwischenspeicherung auf der Grundlage von Dateitypen
- Schlüsseldaten: Verwendung von memcached für L2-Caching
Mit ipipgo'sProtokoll-UnterstützungFunktion, die die Zertifikatsvalidierung für HTTPS-Anfragen zwischenspeichert, kann 30%-Handshake-Zeit sparen.
Katastrophenhilfe: Lassen Sie einen Ausweg für die Silvesternacht
Der dümmste Vorgang, den ich je gesehen habe, ist ein Knoten, der sich aufhängt und verzweifelt versucht, es erneut zu versuchen. KonfigurationFusionsmechanismusDas ist sehr wichtig:
1. mehr als 201 TP3T automatische Knotenisolierung
2. automatische Wiederbelebung von Knoten in Quarantäne nach 30 Minuten
3. den Standby-Knoten von 10% während der normalen Zeiten inaktiv halten.
Mit ipipgo.API zum dynamischen Abrufen von KnotenpunktenFunktion, die es ermöglicht, die Upstream-Liste in Echtzeit zu aktualisieren, was wesentlich flexibler ist, als sie in einer Konfigurationsdatei zu Tode zu schreiben.
QA Session: Die Fallstricke, in die Neulinge tappen müssen
F: Was soll ich tun, wenn ich immer eine 502-Fehlermeldung erhalte?
A: Neunzig Prozent ist die Zeitüberschreitung des Proxy-Knotens, überprüfen Sie zuerst die Antwortzeit des ipipgo-Knotens und passen Sie dann die proxy_read_timeout von Nginx an
F: Wie wählt man zwischen dynamischer IP und statischer IP?
A: statisch für die Sitzungspflege, dynamisch für Crawler. ipipgo unterstützt beides und kann gemischt werden.
F: Warum kann ich meine Gleichzeitigkeit nicht erhöhen?
A: 80% ist nicht angepasst worker_connections, dieser Wert sollte größer sein als die maximale Anzahl der Gleichzeitigkeit. Denken Sie daran, das ulimit auf der Systemebene zu ändern.
Am Ende, die Reverse-Proxy gut zu spielen, drei Punkte auf die Konfiguration verlassen, sieben Punkte, um die Qualität des Proxy zu sehen. ipipgo Wohn-IP-Pool natürliche Anti-Blocking, mit angemessenen Nginx-Konfiguration, die die hohe Gleichzeitigkeit der König der Bombe Kombination zu tragen ist. Diejenigen, die das Rechenzentrum IP verwenden immer noch beschweren sich über blockiert werden, wahrscheinlich nicht verstehen, die Bedeutung der Wohn-Proxy.

