Detaillierte Erklärung, wie Nginx das Problem des domänenübergreifenden Zugriffs auf Front-End-Ressourcen löst

Detaillierte Erklärung, wie Nginx das Problem des domänenübergreifenden Zugriffs auf Front-End-Ressourcen löst

Nachdem ich fast zwei Tage lang mit dem domänenübergreifenden Front-End-Problem gequält wurde, habe ich es schließlich mit ngnx gelöst und werde es hier zusammenfassen.

In diesem Artikel wird nur die Verwendung von Ngnx zur Lösung domänenübergreifender Probleme erläutert, nicht die Prinzipien.

1. Stellen Sie zunächst die relevanten Befehlsvorgänge von Nignx in der Windows-Umgebung vor

Allgemeine Nginx-Befehle:

  • Überprüfen Sie, ob die Konfiguration korrekt ist: nginx -t
  • Überprüfen Sie die Versionsnummer von Nginx: nginx -V
  • Starten Sie Nginx: start nginx
  • Nginx schnell stoppen oder herunterfahren: nginx -s stop
  • Nginx normal stoppen oder herunterfahren: nginx -s quit
  • Befehl zum Neuladen von Änderungen an der Konfigurationsdatei: nginx -s reload

Nach dem Stoppen von nginx wird nginx.pid im Verzeichnis /logs automatisch gelöscht

  • Mit dem Befehl nginx -c conf/nginx.conf können Sie nginx neu erstellen oder neu starten.

Überprüfen Sie, ob der Nignx-Listening-Port erfolgreich gestartet wurde

  • netstat -ano | findstr Portnummer

Lösung: Der Port hört nach dem Schließen von nignx immer noch zu

1. netstat -ano | findstr Portnummer#PID abrufen

2. Taskliste | findstr "PID" #Befehl zum Suchen von Nginx-Prozessinformationen

3. taskkill /f /t /im nginx.exe #Beenden Sie den Nginx-Prozess

2. Einführung in die Konfiguration von Nignx zur Lösung domänenübergreifender Probleme

Front-End-IP-Portnummer: http://localhost:8080/

Backend-IP-Portnummer: http://localhost:8082/

Wenn wir jetzt kein Cross-Domain-Setup durchführen, lautet die Front-End-Anforderung wie folgt

uni.request({
  URL: „http://localhost:8082/ApiController/test“,
  Erfolg:(res)=>{
  konsole.log(res.daten)
  },
})

Zugriffsadresse: 'http://localhost:8082/ApiController/test', es wird angezeigt

Dann konfigurieren wir Nignx

Bearbeiten Sie diese Datei /config/nginx.conf

1) Fügen Sie Header-Informationen hinzu und fügen Sie die domänenübergreifende Zugriffskonfiguration im http-Block der Konfigurationsdatei nginx.conf hinzu

add_header Access-Control-Allow-Origin *; //Allen Domänennamen den domänenübergreifenden Zugriff auf die Proxy-Adresse erlauben add_header Access-Control-Allow-Headers X-Requested-With;
add_header Access-Control-Allow-Methods GET; //Domänenübergreifende Anforderungszugriffsanforderungsmethode,

2) Richten Sie einen Reverse-Proxy ein

Server {
  listen 80; #Abhörport von nignx konfigurieren server_name localhost; #Abhöradresse von nignx konfigurieren location /ApiController{ #Abhöradresse beginnt mit /ApiController proxy_pass http://localhost:8082; #Weiterleitungsadresse}
}

Nach der Konfiguration unsere Front-End-Zugriffs-URL

http://localhost:8082/ApiController/test sollte in http://localhost:80/ApiController/test geändert werden.

#Überwachung zu diesem Zeitpunkt

Verwenden Sie „localhost“ als Domänennamen

Verwenden Sie Port 80

Die Adresse beginnt mit /ApiController

Die Adressweiterleitung erfolgt

uni.request({
   URL: „http://localhost:80/ApiController/test“,
   Erfolg:(res)=>{
   konsole.log(res.daten)
   },
})

Ergebnis: (Zugriff erfolgreich)

Zusammenfassen

Dies ist das Ende dieses Artikels darüber, wie Nginx das Problem des domänenübergreifenden Zugriffs auf Front-End-Ressourcen löst. Weitere relevante Inhalte darüber, wie Nginx das Problem des domänenübergreifenden Zugriffs auf Front-End-Ressourcen löst, finden Sie in früheren Artikeln auf 123WORDPRESS.COM oder in den folgenden verwandten Artikeln. Ich hoffe, Sie werden 123WORDPRESS.COM auch in Zukunft unterstützen!

Das könnte Sie auch interessieren:
  • Detaillierte Erläuterung der für das Front-End erforderlichen Nginx-Konfiguration
  • So verwenden Sie Nginx, um domänenübergreifende Front-End-Probleme zu lösen
  • Nginx-Konfiguration für die Front-End-Entwicklung (Szenario)
  • Detaillierte Erläuterung der Nginx-Frontend-Verteilungsmethode basierend auf $remote_addr
  • Mehrere Methoden zum Bereitstellen mehrerer Front-End-Projekte mit nginx
  • Detaillierte Erklärung, was nginx auf dem Frontend leisten kann

<<:  Ein Beispiel für die Verwendung von CSS3-Animation, um den Effekt eines Kreises zu erzielen, der sich von klein nach groß ausdehnt und nach außen ausbreitet

>>:  MySQL-Methode zur Sperrensteuerung für Parallelität

Artikel empfehlen

Eine vollständige Liste häufig verwendeter HTML-Tags und ihrer Eigenschaften

Zunächst müssen Sie einige Eigenschaften von HTML...

Die Magie des tbody-Tags beschleunigt die Anzeige von Tabelleninhalten

Sie haben sicher schon einmal die Webseiten andere...

Methoden zur Verbesserung der Zugriffskontrollsicherheit im Linux-Kernel

Hintergrund Vor einiger Zeit half unser Projektte...

CSS zum Erzielen von Text auf dem Hintergrundbild

Wirkung: <div Klasse="imgs"> <...

Tipps zum reflektierenden Lernen von JavaScript

Inhaltsverzeichnis 1. Einleitung 2. Schnittstelle...

Ideen zum Erstellen von Welleneffekten mit CSS

Zuvor habe ich mehrere Möglichkeiten vorgestellt,...

Verständnis und Beispielcode des Vue-Standardslots

Inhaltsverzeichnis Was ist ein Slot Grundlegendes...

Ausführliche Erklärung zu Slots und Filtern in Vue

Inhaltsverzeichnis Spielautomaten Was sind Slots?...

Tutorial zur Installation und Konfiguration von MySQL für Mac

In diesem Artikel finden Sie das MySQL-Installati...

Beispielcode für CSS3 zum Erzielen eines Bildlaufleisten-Verschönerungseffekts

Der spezifische Code lautet wie folgt: /*Breite d...

So implementieren Sie Element-Floating und Clear-Floating mit CSS

Grundlegende Einführung in das Floating Im Standa...