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 fügen Sie schnell 10 Millionen Datensätze in MySQL ein

Ich habe gehört, dass es eine Interviewfrage gibt...

Welche Wissenssysteme brauchen Webdesigner?

Produktdesigner sind mit komplexen und großen Fert...

Eine ausführliche Diskussion zur Detailanalyse im Webdesign

Bei der Designarbeit höre ich oft, dass an der Übe...

Das WeChat-Applet verwendet Canvas zum Zeichnen von Uhren

In diesem Artikel wird der spezifische Code zur V...

So legen Sie eine statische IP für den Ubuntu 18.04-Server fest

1. Hintergrund Netplan ist ein neues Befehlszeile...

Informationen zur Nginx-GZIP-Konfiguration

Das Prinzip von nginx zur Erzielung einer Ressour...

So verwenden Sie den Linux-Befehl seq

1. Befehlseinführung Mit dem Befehl seq (Sequence...