Vorwort Wenn ein 403-Cross-Origin-Fehler auftritt 1. Lösung Sie müssen nur die folgenden Parameter in der Nginx-Konfigurationsdatei konfigurieren: Standort / { add_header Zugriffskontrolle-Origin zulassen *; add_header Zugriffssteuerungs-Zulassungsmethoden 'GET, POST, OPTIONS'; add_header Zugriffskontrolle-Header zulassen 'DNT, X-Mx-ReqToken, Keep-Alive, User-Agent, X-Requested-With, If-Modified-Since, Cache-Control, Inhaltstyp, Autorisierung'; if ($request_method = 'OPTIONEN') { Rückgabe 204; } } Der obige Konfigurationscode kann das Problem lösen. Wenn Sie ihn nicht eingehend studieren möchten, lesen Sie einfach hier =-= II. Erläuterung 1. Zugriffskontrolle-Ursprung zulassen Standardmäßig ist es Servern nicht gestattet, Domänen zu überschreiten. Nachdem Sie „Access-Control-Allow-Origin*“ für den Nginx-Server konfiguriert haben, bedeutet dies, dass der Server alle Anforderungsquellen (Origin) akzeptieren kann, d. h. alle domänenübergreifenden Anforderungen akzeptieren kann. 2. Access-Control-Allow-Headers soll folgende Fehler verhindern:
Dieser Fehler zeigt an, dass der Wert des aktuellen Anforderungsinhaltstyps nicht unterstützt wird. Tatsächlich wurde es durch die von uns initiierte Anfrage vom Typ „application/json“ verursacht. Hier ist ein Konzept beteiligt: Preflight-Anforderung. Bitte lesen Sie die Einführung zu „Preflight-Anforderung“ weiter unten. 3. Access-Control-Allow-Methods soll folgende Fehler verhindern:
4. Das Hinzufügen einer 204-Antwort zu OPTIONS dient zur Behandlung des Fehlers, dass Nginx beim Senden einer POST-Anforderung immer noch den Zugriff verweigert Beim Senden einer „Preflight-Anfrage“ ist die Methode OPTIONS erforderlich, daher muss der Server diese Methode zulassen. 3. Preflight-Anfrage Tatsächlich beinhaltet die obige Konfiguration einen W3C-Standard: CROS, der vollständige Name steht für Cross-Origin Resource Sharing, der zur Lösung von Cross-Origin-Anfragen vorgeschlagen wurde.
Tatsächlich ist die Anfrage, deren Content-Type-Feldtyp application/json ist, die POST-Anfrage mit bestimmten oben genannten MIME-Typen. Laut CORS ist ein Content-Type, der nicht zu den folgenden MIME-Typen gehört, eine Pre-Check-Anfrage:
Daher fügt die Anwendungs-/JSON-Anforderung vor der formellen Kommunikation eine „Pre-Check“-Anforderung hinzu. Diese „Pre-Check“-Anforderung enthält die Header-Informationen Access-Control-Request-Headers: Content-Type: OPTIONEN /api/test HTTP/1.1 Herkunft: http://foo.example Zugriffskontroll-Anforderungsmethode: POST Access-Control-Request-Header: Inhaltstyp ... einige weggelassen Wenn bei der Antwort des Servers die zurückgegebenen Header-Informationen nicht „Access-Control-Allow-Headers: Content-Type“ enthalten, bedeutet dies, dass ein nicht standardmäßiger Content-Type nicht akzeptiert wird. Der folgende Fehler tritt auf:
Referenzartikel:
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:
|
<<: Schreiben von Methoden, die in nativem JS verboten sein sollten
>>: MySQL-Tutorial zum Bereitstellen mehrerer Instanzen auf einer einzigen Maschine mit mysqld_multi
Wie lädt man das JAR-Paket in ein privates Lager ...
Körperteil: <button>Licht ein-/ausschalten&...
Inhaltsverzeichnis Szenario Kernthemen Statusüber...
Ohne auf JavaScript angewiesen zu sein, wird rein...
In diesem Artikelbeispiel wird der spezifische Co...
Inhaltsverzeichnis eins. Umfeld zwei. Vorsichtsma...
Ich weiß nicht, ob Ihnen beim Erstellen einer Webs...
Inhaltsverzeichnis Was ist das Protokoll langsame...
Inhaltsverzeichnis Lazy Loading CSS-Stile: HTML-T...
Beschreibung: Begrenzen Sie die Anzahl der Textze...
Installieren Sie Nginx Ziehen Sie zuerst das Cent...
Wenn MySQL Version 5.0 bereits auf dem Computer v...
1. Passwort ändern 1. Ändern Sie das Passwort nor...
Inhaltsverzeichnis 1. Hintergrund 2. Lokale benut...
Ich nenne diese Art von Fehler einen typischen „H...