So verwenden Sie eine Karte, um die domänenübergreifende Nutzung mehrerer Domänennamen in Nginx zu ermöglichen

So verwenden Sie eine Karte, um die domänenübergreifende Nutzung mehrerer Domänennamen in Nginx zu ermöglichen

Die übliche Nginx-Konfiguration ermöglicht domänenübergreifendes

Server {
  hören Sie 11111;
  Servername localhost;

  Standort ~ /xxx/xx {
    if ($request_method = 'OPTIONEN') {
      Rückgabe 204;
    }
    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';
    Proxy-Passwort http://1.2.3.4:5678;
  }
}

Geben Sie Access-Control-Allow-Origin als „*“ an. Dies ist die einfachste und gewalttätigste Möglichkeit, sämtliche domänenübergreifenden Zugriffe zuzulassen.

Cookies zulassen

In einigen Szenarien sind Cookies erforderlich. In diesem Fall muss Nginx einen Satz add_header Access-Control-Allow-Credentials 'true'; hinzufügen, aber zu diesem Zeitpunkt meldet der Browser einen Fehler und sagt, dass, wenn dieser Parameter wahr ist, „allow origin“ nicht auf „*“ gesetzt werden kann. Wenn mehrere Domänennamen manuell angegeben werden, meldet der Browser ebenfalls einen Fehler und sagt, dass „allow origin“ nicht auf mehrere gesetzt werden kann. Dies sind Einschränkungen auf Protokollebene.

Karte verwenden

In Nginx können Sie map verwenden, um eine benutzerdefinierte Variable abzurufen. Informationen zur einfachen Verwendung finden Sie in der offiziellen Dokumentation. Im oben genannten Szenario können Sie den Ursprung in der Anforderung filtern und den Anforderungsdomänennamen, der die Anforderungen erfüllt, in eine Variable einfügen. Wenn Sie „Ursprung zulassen“ festlegen, können Sie diese Variable verwenden, um dynamische, mehrere domänenübergreifende Domänennamen zu implementieren.

Eine Beispielkonfiguration sieht wie folgt aus:

Karte $http_origin $allow_origin {
  Standard "";
  "~^(https?://localhost(:[0-9]+)?)" $1;
  "~^(https?://127.0.0.1(:[0-9]+)?)" $1;
  "~^(https?://172.10(.[\d]+){2}(:[0-9]+)?)" $1;
  "~^(https?://192.168(.[\d]+){2}(:[0-9]+)?)" $1;
}

Server {
  hören Sie 11111;
  Servername localhost;

  Standort ~ /xxx/xx {
    if ($request_method = 'OPTIONEN') {
      Rückgabe 204;
    }
    add_header Zugriffskontrolle-Origin-zulassen $allow_origin;
    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';
    add_header Zugriffskontrolle-Anmeldeinformationen zulassen „true“;
    Proxy-Passwort http://1.2.3.4:5678;
  }
}

Erläuterung:

$http_origin ist eine interne Variable von Nginx, die verwendet wird, um den Ursprung im Anforderungsheader abzurufen

$allow_origin ist ein anpassbarer Variablenname

Zusammenfassen

Dies ist das Ende dieses Artikels zur Verwendung von Map zur Implementierung von Nginx, um mehrere Domänennamen über Domänen hinweg zuzulassen. Weitere relevante Map-Implementierungen von Nginx zur Zulassung mehrerer Domänennamen über Domänen hinweg finden Sie in früheren Artikeln auf 123WORDPRESS.COM oder in den folgenden verwandten Artikeln. Ich hoffe, dass jeder 123WORDPRESS.COM in Zukunft unterstützen wird!

Das könnte Sie auch interessieren:
  • Detaillierte Erläuterung der Konfiguration und Verwendung des Kartenmoduls im Nginx-Server
  • Verwenden des Map-Befehls von Nginx zum Umleiten von Seiten
  • So verwenden Sie Nginx, um den domänenübergreifenden Zugriff auf Cookies zu lösen
  • Nginx löst das Cross-Domain-Problem bei der Weiterleitung von Adressen
  • Vue-Verpackung verwendet Nginx-Proxy, um domänenübergreifende Probleme zu lösen
  • Detaillierte Erläuterung der Verwendung des Nginx-Reverse-Proxys zur Lösung domänenübergreifender Probleme
  • So verwenden Sie Nginx zum Lösen domänenübergreifender Probleme (am Beispiel von Flask)

<<:  Details zur Verwendung von JS-Array-Methoden some, every und find

>>:  Beispiel für die Konvertierung eines Zeitstempels in ein Datum in MySQL

Artikel empfehlen

JavaScript zum Erreichen der Produktabfragefunktion

In diesem Artikelbeispiel wird der spezifische Ja...

JavaScript-HTML zur Implementierung der mobilen Red Envelope Rain-Funktionsseite

In diesem Artikelbeispiel wird der spezifische HT...

Detaillierte Einführung in TABLE-Tags (TAGS)

Grundlegende Syntax der Tabelle <table>...&l...

Detaillierte Analyse der Kompilierung und Installation von vsFTP 3.0.3

Details zur Sicherheitsanfälligkeit VSFTP ist ein...

Erfahrung mit parallelen React-Funktionen (gleichzeitiger Front-End-Modus)

React ist eine Open-Source-JavaScript-Bibliothek,...

Zusammenfassung der Vue3-Slot-Nutzung

Inhaltsverzeichnis 1. Einführung in den V-Slot 2....

Spielen Sie mit der Connect-Funktion mit Timeout in Linux

Im vorherigen Artikel haben wir mit Timeouts unte...

Implementierung mehrerer Tomcat-Instanzen auf einer einzigen Maschine

1. Einleitung Zunächst müssen wir eine Frage bean...

So implementieren Sie abgerundete Ecken mit CSS3 unter Verwendung von JS

Ich bin auf ein Beispiel gestoßen, als ich nach e...

Analyse der MySQL-Transaktionsmerkmale und Ebenenprinzipien

1. Was ist eine Transaktion? Eine Datenbanktransa...

Detaillierte Erläuterung der Nginx-Weiterleitungssocket-Portkonfiguration

Gängige Szenarien für die Weiterleitung von Socke...

So zeigen Sie Linux-SSH-Dienstinformationen und den Ausführungsstatus an

Es gibt viele Artikel zur SSH-Serverkonfiguration...

So spielen Sie lokale Mediendateien (Video und Audio) mit HTML und JavaScript ab

Erstens kann JavaScript aus Sicherheitsgründen ni...

So kaufen und installieren Sie Alibaba Cloud-Server

1. Kaufen Sie einen Server Im Beispiel handelt es...