Vorwort Ich habe vor kurzem eine kleine Demo geschrieben. Da ich die Online-Daten einer großen Fabrik verwendete, wies die Schnittstelle domänenübergreifende Einschränkungen auf. Daher verwendete ich einen Nginx-Proxy, um diese Probleme zu lösen. 1. Konfigurationsinformationen zu nginx.conf Da nginx.conf viele Konfigurationsinformationen enthält, konzentriert sich dieser Artikel nur auf die Einstellungen von Axios und statischen Ressourcenanforderungen und weist auch auf einige allgemeine Konfigurationselemente hin. Die spezifischen Einstellungen sind wie folgt: # Richten Sie den HTTP-Server ein und verwenden Sie seine Reverse-Proxy-Funktion, um die Lastverteilung zu unterstützen http { #Verbindungs-Timeout keepalive_timeout 120; #gzip-Komprimierungsschalter und zugehörige Konfiguration gzip ein; gzip_min_länge 1k; gzip_puffer 4 32k; gzip_http_version 1.1; gzip_comp_level 2; gzip_types Text/einfache Anwendung/x-Javascript-Text/CSS-Anwendung/Xml; gzip_vary ein; gzip_disable "MSIE [1-6]."; #Stellen Sie die aktuelle Serverliste upstream zp_server{ ein Server 127.0.0.1:8089; } #HTTP-Server { #Listen-Port 80 #Definieren Sie den Dienstnamen server_name localthost; #Homepageindex index.html #Zeigen Sie auf das Stammverzeichnis des Projekts D:\project\src\main\webapp; #Kodierungsformat Zeichensatz utf-8; #Proxy-Pfad (an Upstream gebunden), legen Sie den zugeordneten Pfad nach dem Standortstandort / { fest #Proxy-Konfigurationsparameter proxy_connect_timeout 180; Proxy_Sendezeitüberschreitung 180; Proxy_Lese_Timeout 180; Proxy_Set_Header Host $host; proxy_set_header X-Forwarder-Für $remote_addr; Proxy-Passwort http://zp_server/; #Domänenübergreifende Einstellungen add_header 'Access-Control-Allow-Origin' '*' immer; add_header 'Zugriffskontrolle-Anmeldeinformationen zulassen' 'true'; add_header 'Access-Control-Allow-Headers' 'Origin, X-Requested-With, Content-Type, Accept' immer; } #Konfigurieren Sie statische Ressourcen, um das Problem zu lösen, dass JS-CSS-Dateien nicht geladen und aufgerufen werden können. Beachten Sie, dass am Ende kein / stehen sollte. Standort ~ .*\.(js|css|jpg|png)$ { Proxy-Passwort http://zp_server; } } } 2. Das Schrägstrichproblem von proxy_pass Die offizielle Website von Nginx unterteilt proxy_pass in zwei Typen:
2.1 Für Methoden ohne URI Bei Methoden ohne URI behält Nginx den Pfadteil des Speicherorts bei, zum Beispiel: Standort /api1/ { Proxy-Passwort http://localhost:8080; } Beim Zugriff auf http://localhost/api1/xxx erfolgt eine Weiterleitung an http://localhost:8080/api1/xxx. 2.2 Für die URI-Methode Für URI-Methoden verwendet nginx eine Ersetzungsmethode wie „Alias“, um die URL zu ersetzen. Dieser Ersatz ist nur ein wörtlicher Ersatz, zum Beispiel: Standort /api2/ { Proxy-Passwort http://localhost:8080/; } Beim Zugriff auf http://localhost/api2/xxx wird http://localhost/api2/ (beachten Sie das letzte /) durch http://localhost:8080/ ersetzt und anschließend das verbleibende xxx hinzugefügt, sodass es zu http://localhost:8080/xxx wird. 2.3 Zusammenfassung Server { hören Sie 80; Servername localhost; Standort /api1/ { Proxy-Passwort http://localhost:8080; } # http://localhost/api1/xxx -> http://localhost:8080/api1/xxx Standort /api2/ { Proxy-Passwort http://localhost:8080/; } # http://localhost/api2/xxx -> http://localhost:8080/xxx Standort /api3 { Proxy-Passwort http://localhost:8080; } # http://localhost/api3/xxx -> http://localhost:8080/api3/xxx Standort /api4 { Proxy-Passwort http://localhost:8080/; } # http://localhost/api4/xxx -> http://localhost:8080//xxx, achten Sie hier bitte auf die doppelten Schrägstriche und analysieren Sie diese sorgfältig. Standort /api5/ { Proxy-Passwort http://localhost:8080/haha; } # http://localhost/api5/xxx -> http://localhost:8080/hahaxxx. Bitte beachten Sie, dass zwischen haha und xxx kein Schrägstrich steht. Lassen Sie uns den Grund analysieren. Standort /api6/ { Proxy-Passwort http://localhost:8080/haha/; } # http://localhost/api6/xxx -> http://localhost:8080/haha/xxx Standort /api7 { Proxy-Passwort http://localhost:8080/haha; } # http://localhost/api7/xxx -> http://localhost:8080/haha/xxx Standort /api8 { Proxy-Passwort http://localhost:8080/haha/; } # http://localhost/api8/xxx -> http://localhost:8080/haha//xxx, bitte beachten Sie hier die doppelten Schrägstriche. } Zusammenfassen Das Obige ist der vollständige Inhalt dieses Artikels. Ich hoffe, dass der Inhalt dieses Artikels einen gewissen Lernwert für Ihr Studium oder Ihre Arbeit hat. Vielen Dank für Ihre Unterstützung von 123WORDPRESS.COM. Das könnte Sie auch interessieren:
|
<<: Tomcat-Komponenten veranschaulichen die architektonische Entwicklung eines Webservers
>>: So löschen Sie Datensätze in MySQL automatisch vor einer bestimmten Zeit
Dockerfile ist eine Textdatei, die Anweisungen en...
Die erste Methode zur Parameterübergabe ist die d...
Vorwort Heute entschied sich ein Kollege nach der...
CSS-Benennungskonventionen (Regeln) Häufig verwen...
Inhaltsverzeichnis 1. Was ist ein Proxy? 2. Wie w...
In diesem Artikel wird der spezifische Code von j...
Um den Export und Import von Daten in SQL zu erle...
Inhaltsverzeichnis Definition Grammatik Beispiele...
Inhaltsverzeichnis Login-Geschäftsprozess Impleme...
Inhaltsverzeichnis Übergeordnete Komponente kommu...
Nachdem der Container gestartet wurde Melden Sie ...
Verwenden Sie Nginx, um einen Tomcat9-Cluster zu ...
Nach drei Tagen voller Schwierigkeiten habe ich d...
Vorwort Wenn Sie MySQL 6.0.x oder höher (JAR) ver...
Derzeit verfügt Docker über einen offiziellen Mir...