So erreichen Sie die Front-End- und Back-End-Trennung in der Nginx-Reverse-Generierungsdatenbank

WBOY
Freigeben: 2023-06-10 12:01:44
Original
1616 Leute haben es durchsucht

Mit der rasanten Entwicklung der Internet-Technologie wird die Idee der Front-End- und Back-End-Trennung von Entwicklern immer häufiger verwendet. Die Trennung von Front-End und Back-End kann die Entwicklung von Front-End und Back-End trennen und parallelisieren, die Entwicklungseffizienz verbessern, die Entwicklungskomplexität verringern und die Systemleistung und Skalierbarkeit verbessern.

In der Architektur, in der das Front-End und das Back-End getrennt sind, fordert das Front-End Daten vom Back-End über die Schnittstelle an, und das Back-End verarbeitet die angeforderten Daten und gibt sie dann an das Front-End zurück. In diesem Prozess kann Nginx eine Rolle bei der Übertragung und Weiterleitung von Daten über die Reverse-Proxy-Technologie spielen. In diesem Artikel wird erläutert, wie eine Front-End- und Back-End-Trennung in der Nginx-Reverse-Generierungsdatenbank erreicht wird.

1. Nginx-Reverse-Proxy-Datenbank

In der Front-End- und Back-End-Trennarchitektur fordert das Front-End Daten vom Back-End über die Schnittstelle an und verarbeitet die zurückgegebenen Daten. Wenn die Datenbank direkt dem öffentlichen Netzwerk ausgesetzt ist, bestehen große Sicherheitsrisiken. Daher müssen wir die Reverse-Proxy-Technologie als Proxy für den Datenübertragungsprozess verwenden, um die Sicherheit zu gewährleisten.

In Nginx kann die Reverse-Proxy-Datenbank durch die folgende Konfiguration implementiert werden:

location /api/ {
    proxy_pass http://localhost:8080;
}
Nach dem Login kopieren

Die Bedeutung dieser Konfiguration besteht darin, dass Nginx die Anfrage an den Pfad „/api/“ weiterleitet, wenn das Frontend eine Anfrage an den Pfad „/api/“ sendet lokaler 8080-Port und die vom Backend zurückgegebenen Daten werden zurück an das Frontend weitergeleitet. Dadurch kann die Sicherheit der Datenbank gewährleistet werden.

2. Nginx Reverse Generation Load Balancing

Wenn in tatsächlichen Anwendungen die Last auf einem einzelnen Backend-Server zu groß ist, verlangsamt sich die Reaktionszeit des Servers oder stürzt sogar ab. Daher muss die Lastausgleichstechnologie der umgekehrten Generation von Nginx verwendet werden, um die Last des Backend-Servers auszugleichen.

Die Lastausgleichskonfiguration von Nginx ist wie folgt:

upstream backend {
    server 127.0.0.1:8080;
    server 127.0.0.1:8081;
}

server {
    listen 80;
    server_name localhost;

    location /api/ {
        proxy_pass http://backend;
        proxy_set_header Host $host;
        proxy_set_header X-Real-IP $remote_addr;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
    }
}
Nach dem Login kopieren

Diese Konfiguration bedeutet, dass die Anfrage an einen der Back-End-Server-Cluster weitergeleitet wird. Wenn einer der Server ausgelastet ist oder ein Problem hat, wechselt er automatisch zu einem anderen Server.

3. Nginx-Reverse-Generation-Cache

In einer Architektur, in der das Front-End und das Back-End getrennt sind, muss das Front-End häufig Anfragen an das Back-End senden, um Daten abzurufen. Das Auslesen von Daten aus der Datenbank wird viel Zeit und Ressourcen verschwenden. Zu diesem Zeitpunkt müssen Sie die Cache-Funktion der umgekehrten Generation von Nginx verwenden, um häufig verwendete Daten zwischenzuspeichern und die Reaktionsgeschwindigkeit und Leistung des Systems zu verbessern.

Die Cache-Konfiguration von Nginx lautet wie folgt:

proxy_cache_path /var/cache/nginx levels=1:2 keys_zone=my_cache:10m inactive=60m;
server {
    listen 80;
    server_name localhost;

    location /api/ {
        proxy_pass http://backend;
        proxy_cache my_cache;
        proxy_cache_valid 200 60m;
        proxy_cache_valid 404 1m;
        proxy_cache_bypass $http_pragma;
        proxy_cache_revalidate on;
        proxy_cache_min_uses 2;
        proxy_cache_lock on;
    }
}
Nach dem Login kopieren

Die Bedeutung dieser Konfiguration besteht darin, Daten in einem 10-MB-Cache-Bereich zwischenzuspeichern. Wenn innerhalb eines bestimmten Zeitraums keine Anforderung für zwischengespeicherte Daten erfolgt, läuft der Cache ab gelöscht. Gleichzeitig können Sie über Proxy_cache_valid die Cache-Zeit verschiedener Statuscodes angeben und Cache-Aktualisierungen über Proxy_cache_bypass steuern.

4. Nginx-Reverse-Generation-HTTPS

In der Front-End- und Back-End-Trennarchitektur muss HTTP unter Berücksichtigung der Sicherheit der Datenübertragung auf HTTPS aktualisiert werden. In Nginx können Sie Reverse-Proxy-HTTPS über die folgende Konfiguration implementieren:

server {
    listen 443;
    server_name localhost;

    ssl on;
    ssl_certificate /etc/nginx/cert.pem;
    ssl_certificate_key /etc/nginx/key.pem;
    ssl_session_timeout 5m;

    location /api/ {
        proxy_pass http://backend;
        proxy_set_header Host $host;
        proxy_set_header X-Real-IP $remote_addr;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
    }
}
Nach dem Login kopieren

Die Bedeutung dieser Konfiguration besteht darin, Port 443 abzuhören, die SSL-Konfiguration zu aktivieren und gleichzeitig Zertifikate und Schlüssel zu konfigurieren. Gleichzeitig müssen Sie beim Weiterleiten einer Anfrage relevante Header festlegen.

Zusammenfassung

In der Front-End- und Back-End-Trennarchitektur spielt Nginx eine sehr wichtige Rolle. Durch Funktionen wie Reverse-Proxy-Technologie, Lastausgleich, Caching und HTTPS realisiert es die sichere Übertragung von Daten und verbessert die Skalierbarkeit des Systems. Nginx ist ein sehr flexibler und leistungsstarker Reverse-Proxy-Server, der eine Vielzahl unterschiedlicher Aufgaben und Anwendungsszenarien erfüllen kann.

Das obige ist der detaillierte Inhalt vonSo erreichen Sie die Front-End- und Back-End-Trennung in der Nginx-Reverse-Generierungsdatenbank. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Verwandte Etiketten:
Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage