Cors nginx

Cors nginx

„Cross-Origin-Ressourcenfreigabe ist im Akronym CORs bekannt. Wenn jemand in einer anderen Domäne arbeitet, verwendet der Server diese Methode, um den Zugriff auf seine Dienste zu steuern. Es passiert in der Mitte eines Servers und eines Browsers. Mit Hilfe von HTTP-Zugriffskontroll-Request-* -Headern überträgt der Browser einige Daten. Basierend auf den empfangenen Headern entscheidet der Server, was als Zugriffskontroll-Owl-Header zurücksendet werden soll. Der Browser ist sich jetzt seiner Fähigkeiten oder Unfähigkeit bewusst, auf Serverressourcen zuzugreifen. Der Browser kann gelegentlich eine Vorflug vor dem Flug ausführen, was eine Validierung darstellt, bevor die tatsächliche Anfrage gestellt wird. Die Header können im Browser nicht durch Front-End-Code geändert werden. Die Header können durch den serverseitigen Code geändert werden. Es muss jedoch von einem nachgeschalteten Dienst durchgeführt werden, den die Anwendung nicht sehen kann, z. B. ein API -Gateway oder den HTTP -Server.

Cross-Origin-HTTP-Abfragen von Skripten werden von Browsern für Sicherheitsbedenken eingeschränkt. Das gleichorientierte Prinzip zum Beispiel wird sowohl an der Fetch-API als auch mit XMLHTTTPrequest eingehalten. Dies impliziert, dass eine Webanwendung, die diese APIs verwendet, nur Anfragen nach Ressourcen aus dem Ursprung stellen kann, aus dem sie geladen wurde.”

Auslöser und Arten von Tigger A CORS -Anfrage

Da die Ressourcen häufig in derselben Quelle wie die Webanwendung gehostet werden, führen nicht alle Anforderungen zu einer CORS -Anfrage. CORs werden aktiviert, wenn es anders ist. Einfache Anfragen und CORS-Anfragen sind zwei verschiedene Formen von CORS-Anfragen.

Einfache Anfrage CORs

Wenn ein Benutzer eine einfache Anforderung initiiert, überträgt sein Webbrowser die Anforderung an den Server. Der Server untersucht dann die Quelle der Anfrage, analysiert sie auf seine Regeln und stellt die angeforderte Ressource an, wenn sie übereinstimmt. Dieser Anforderungsart verwendet die Herkunfts- und Zugriffskontroll-Owl-Origin-Header, um zu entscheiden, ob die Ressource bereitgestellt werden soll. Die einzigen Anforderungsarten, die zu einer einfachen Anfrage führen Breite. Auch denn nicht alle Inhaltstypen führen zu einer einfachen Anfrage. Hier verursachen nur bestimmte Formen der Formcodierung eine einfache Anfrage.

Vor dem Flieger befindliche Kors

Vor dem Flugantrag sind etwas anders, da in der ersten Runde keine sofortige Verbindung zu den Diensten gibt. Eine vorgenannte Anfrage wird eingeleitet, wenn die Bedingungen in irgendeiner Weise geändert werden. In vorgenannten Anforderungen bestätigt die Suchmaschine zunächst, dass sie auf die Ressource zugreifen kann, indem sie mit dem Webbrowser entspricht. Wenn der Webbrowser mit einer OK-Antwort (HTTP 200) antwortet, wird eine weitere Anfrage zum Erwerb der Ressource gesendet. Zunächst stellt eine Anfrage mithilfe der HTTP -Optionsmethode ein und lädt dann Ressourcen mit ähnlichen Anforderungstypen, die den Methoden erhalten, und posten herunter.

Voraussetzung von CORs in Nginx

Erstens sind 4xx -Antworten mit der Standard -Header -Anweisung von Nginx inkompatibel. Die mehr eingestellte Header -Richtlinie, die auch mit 4xx -Antworten funktioniert, kann verwendet werden, um ihnen benutzerdefinierte Header hinzuzufügen, aber um dies zu tun, müssen wir zuerst das Nginx -Header -Modul installieren.

Das Nginx-Extras-Paket kann leicht installiert werden, wenn Sie eine Debian-Verteilung verwenden

Wichtigkeit, CORs auf Nginx zu aktivieren

JavaScript, der im Browser des Kunden ausführt. Infolgedessen kann das Ausschalten von CORs eine kluge Sicherheitsvorsorge sein.

Damit eine solche Funktionalität im Backend funktioniert, müssen CORs jedoch aktiviert sein. Dies liegt daran. Ein separates Protokoll, Domänenname oder Port kann alle als dieselbe Domäne bezeichnet werden.

So aktivieren Sie CORs auf Nginx in Ubuntu 20.04

Gehen wir zum Hauptabschnitt. Öffnen Sie den bevorzugten Editor Vim und navigieren Sie dann zur Nginx -Konfiguration:

Geben Sie den nächsten Eintrag in den Serverblock Ihrer NGINX -Konfiguration ein.

Starten Sie Nginx danach neu und speichern Sie die Konfigurationsdatei.

CORs können aktiviert werden, indem der Befehl curl verwendet wird, um dies zu überprüfen. Daraus sollte die folgende Ausgabe ergeben:

Wie man mit den CORS -Fehlern in einem Severs umgeht

Auf der Serverseite wird CORS implementiert. Die Client -Seite kann nicht ändern, wie sie funktioniert. Benutzer können verhindert werden, dass gemeinsame Ressourcen mithilfe des CORS -Verhaltens verwendet werden, das häufig als CORS -Fehler bezeichnet wird. Dies ist kein Fehler, sondern ein Sicherheitsmechanismus, um Sie oder die Website zu schützen, die Sie aus einer möglichen Sicherheitsverletzung besuchen. Die clientseitige Implementierung von HTTP-Headern, die unzureichend oder falsch sind, kann zu diesem Problem führen (e.G., fehlende API -Schlüssel und andere Autorisierungsinformationen). Wir haben einige einzigartige Lösungen für diese Fehler.

  • Cross-Origin-Anfragen können mit Hilfe eines CORS-Proxy gestellt werden. Ihre Anfrage wird über die Proxy -Schicht weitergeleitet, die blind für ihren Ursprung ist. Obwohl die Anfrage aus einem nicht identifizierten Ursprung stammt, macht der CORS -Proxy es so, als ob sie von einem zulässigen Ort stammt.
  • Die Verwendung einer serverlosen Funktion ist ein beliebtes Mittel. Es ist ein anderer Ansatz, um Ihre Anfragen zu steigern, aber trotz des oben beschriebenen Ansatz.

Abschluss

Das Hauptziel von Cors ist es, Online-Anwendungen sicherer zu gestalten, um Man-in-the-Middle-Angriffe zu behindern. CORs können auch noch vorteilhaft sein. Da es standardmäßig nicht aktiviert ist, müssen CORs in dieser Situation aktiviert sein. Mit der Verwendung der Anweisungen von Ursprung und Zugriffskontroll-Allow-Origin-Origin-Origin-Originen, die die alleinigen Anforderungsarten sind, die vom Basic CORS-Anforderungsart verwendet werden, kann NGINX die Berechtigung des Webbrowsers zur Zugriff auf die angeforderte Ressource basierend auf dem Ursprung erteilen. CORS ist ein großartiges Werkzeug, das in beiden Fällen sorgfältig verwendet werden sollte.