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

So stellen Sie Gitlab schnell mit Docker bereit

1. Laden Sie das Gitlab-Image herunter Docker-Pul...

So implementieren Sie Code und Schritte für den digitalen Paging-Effekt in CSS

Eine beträchtliche Anzahl von Websites verwendet d...

So ändern Sie das Passwort in MySQL 5.7.18

So ändern Sie das Passwort in MySQL 5.7.18: 1. Fa...

Teilen Sie 10 der neuesten Web-Frontend-Frameworks (Übersetzung)

In der Welt der Webentwicklung sind Frameworks wei...

So überwachen Sie mehrere JVM-Prozesse in Zabbix

1. Szenariobeschreibung: Unsere Umgebung verwende...

Analyse des Prinzips von Vue nextTick

Inhaltsverzeichnis Ereignisschleife miscroTask (M...

Tipps zum Erstellen von Web-Tabellenrahmen

<br />Tipps zum Erstellen von Web-Tabellenra...

js, um ein Wasserfall-Flusslayout zu erreichen (unendliches Laden)

In diesem Artikelbeispiel wird der spezifische Co...

js zur Implementierung eines Web-Rechners

Wie erstelle ich mit HTML, CSS und JS einen einfa...

MySQL-Partitionierungspraxis mit Navicat

MySQL-Partitionierung ist hilfreich bei der Verwa...

CSS3-Implementierungscode für einfaches Karussellbildschneiden

Umsetzungsideen Erstellen Sie zunächst einen über...