Lösung für das Problem des Informationsverlusts mit "_" im Header bei Verwendung des Nginx-Proxys

Lösung für das Problem des Informationsverlusts mit "_" im Header bei Verwendung des Nginx-Proxys

Vorwort

Bei der Entwicklung eines Gateway-Projekts werden die Signaturinformationen sign_key beim Senden einer Anforderung in den Anforderungsheader eingefügt und beim Empfangen der Anforderung aus dem Header entfernt. Dies funktioniert beim lokalen Debuggen, aber nach dem Online-Gehen stellt sich heraus, dass es nicht über den Nginx-Proxy abgerufen werden kann.

Standort / {
 Proxy_Set_Header X-Real-IP $Remote_Addr;
 proxy_set_header X-Weitergeleitet-Für $proxy_add_x_forwarded_for;
 Proxy_set_header Host $http_host;
 proxy_set_header X-Nginx-Proxy wahr;

 add_header Proxy-Knoten $upstream_addr;
 add_header Proxy-Status $upstream_status; 
 
 Proxy_http_Version 1.1;
 Proxy-Passwort http://tianusa;
 }

Später fand ich heraus, dass der Grund darin lag, dass Nginx einige Einschränkungen bei Headern hatte und Unterstriche (_) nicht unterstützt wurden.

Lösung:

1. Keine Unterstriche

Ändern Sie den Unterstrich _ in etwas anderes, beispielsweise sign_key in sign-key

2. Entfernen Sie die Einschränkungen von Nginx aus dem Stammverzeichnis

Standardmäßig ignoriert Nginx automatisch alle „_“ im Anforderungsheader.

Die Lösung besteht darin, dem http-Abschnitt der Konfigurationsdatei nginx.conf in nginx die folgende Konfiguration hinzuzufügen:

underscores_in_headers ein; (Standardmäßig ist underscores_in_headers aus)

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. Wenn Sie Fragen haben, können Sie eine Nachricht hinterlassen. Vielen Dank für Ihre Unterstützung von 123WORDPRESS.COM.

Das könnte Sie auch interessieren:
  • So konfigurieren Sie nginx+php+mysql in Docker
  • Lösung für ungültige Nginx-Cross-Domain-Einstellung Access-Control-Allow-Origin
  • Beispielmethode zum Bereitstellen eines React-Projekts auf Nginx
  • Verwenden Sie das Tool nginx.vim zur Syntaxhervorhebung und Formatierung der Konfigurationsdatei nginx.conf
  • Detaillierte Erläuterung der Fallstricke von add_header im Nginx-Konfigurationstutorial
  • So konfigurieren Sie die bidirektionale Zertifikatsüberprüfung auf dem Nginx-Proxyserver
  • Shell-Skript Nginx-Automatisierungsskript
  • So erstellen Sie einen Nginx-Server mit Docker
  • Eine kurze Erläuterung, warum Daemon Off beim Ausführen von Nginx in Docker verwendet wird
  • Einführung in das Batch-Cache-Löschskript von nginx proxy_cache

<<:  Erläuterung unveränderlicher Werte in React

>>:  So finden Sie Websites mit SQL-Injection (unbedingt lesen)

Artikel empfehlen

So installieren Sie pyenv unter Linux

Voraussetzungen Git muss installiert werden Insta...

Textmodus im IE! Einführung in die Rolle von DOCTYPE

Nachdem das im vorherigen Artikel besprochene Prob...

Die Bedeutung der 5 Leerzeichenarten in HTML

HTML bietet fünf Leerzeichen mit unterschiedliche...

Analyse der Verwendung und des Prinzips der Docker Swarm-Clusterverwaltung

Schwarmclusterverwaltung Einführung Docker Swarm ...

Erzielen Sie mit reinem CSS3 in wenigen einfachen Schritten einen 3D-Flip-Effekt

Als Pflichtkurs für Frontend-Entwickler kann CSS3...

Detaillierte Erklärung zur Konfiguration der OpenGauss-Datenbank im Docker

Für Windows-Benutzer Verwenden von openGauss in D...

Installations- und Nutzungsprotokoll von VMware ESXi (mit Download)

Inhaltsverzeichnis 1. Installieren Sie ESXi 2. ES...

Installations- und Verwendungsschritte für vue-amap

Ich habe zuvor die Verwendung des asynchronen Lad...

So migrieren Sie SQLite zu einem MySQL-Skript

Ohne weitere Umschweife werde ich den Code direkt...

So verwenden Sie den EXPLAIN-Befehl in SQL

Bei unserer täglichen Arbeit führen wir manchmal ...

Detaillierte Beispiele für Ersetzen und Ersetzen in MySQL into_Mysql

„Replace“ und „Replace into“ von MySQL sind beide...

CSS3-Übergang zum Erreichen des unterstrichenen Beispielcodes

In diesem Artikel wird der Beispielcode für den C...

jQuery realisiert Bildhervorhebung

Es ist sehr üblich, Bilder auf einer Seite hervor...