Lösung für den Konflikt zwischen Nginx und Backend-Port

Lösung für den Konflikt zwischen Nginx und Backend-Port

Frage:

Bei der Entwicklung des Alice-Verwaltungssystems habe ich festgestellt, dass alle Backend-Schnittstellen bei der ersten Anforderung 404-Fehler generierten, beim zweiten Mal jedoch erfolgreich waren.

Positionierungsproblem

Ich habe das Nginx-Fehlerprotokoll überprüft und den folgenden Fehler gefunden. Ich dachte fälschlicherweise, dass der Fehler auftrat, weil der html Ordner nicht über ausreichende Berechtigungen verfügte, wodurch die Datei nicht geschrieben werden konnte. Nachdem ich die Berechtigungen geöffnet hatte, stellte ich fest, dass es immer noch nicht funktionierte. Ich suchte bei Google, konnte aber immer noch keine Lösung finden. Ich habe es vorerst beiseite gelegt. Als ich am nächsten Tag erneut nach dem Fehler suchte, öffnete ich versehentlich Port 8081. Beim Aufruf localhost:8081 und 127.0.0.1:8081 waren die Inhalte unterschiedlich.

Zu diesem Zeitpunkt fragte ich mich, ob es einen Portkonflikt gab, also öffnete ich die Datei und fand die nginx -Konfigurationsdatei und unsere Projektkonfigurationsdatei. Ich stellte fest, dass es einen Portkonflikt gab. Wenn Sie auf das Backend zugreifen, werden Sie feststellen, dass die Anforderung an statische Nginx-Dateien gesendet wird, sodass ein 404-Fehler generiert wird.

Server {
  hören Sie 8081;
  Servername 127.0.0.1;

  #Zeichensatz koi8-r;

  #access_log Protokolle/Host.access.log Haupt;

  Standort / {
    Stamm-HTML;
    Index Index.html Index.htm;
  }
Server {
  # Plattform-Port-Listener 8100;
  Servername localhost;

  Standort / {
    Proxy-Passwort http://localhost:4200/;
  }

  Standort /api/ {
    Proxy-Passwort http://localhost:8081/;
  }
  #Fehlerseite 404 /404.html;

  # Server-Fehlerseiten auf die statische Seite /50x.html umleiten
  #
  Fehlerseite 500 502 503 504 /50x.html;
  Standort = /50x.html {
    root /usr/share/nginx/html;
  }
}

Problemumgehung

Ändern Sie den Backend-Port und die Nginx-Konfiguration des Projekts.

Verbleibende Probleme:

Wenn der Hintergrund gestartet wird, unterscheidet sich der Inhalt beim Zugriff localhost:8081 von dem von 127.0.0.1:8081 Derselbe Inhalt ist verfügbar, wenn der Hintergrund geschlossen wird.

Die Gründe können folgende sein:
localhost: Das System verwendet die Berechtigungen des aktuellen Benutzers auf diesem Computer für den Zugriff
127.0.0.1: Dies bedeutet, dass auf die lokale Maschine über das Netzwerk zugegriffen wird

Wenn Nginx mit dem Backend in Konflikt steht, warum greift es dann in ungeraden Zahlen auf interne Nginx-Dateien zu und in geraden Zahlen auf das Backend (warum kann es dieselbe Schnittstelle belegen)?

Das Obige ist der vollständige Inhalt dieses Artikels. Ich hoffe, er wird für jedermanns Studium hilfreich sein. Ich hoffe auch, dass jeder 123WORDPRESS.COM unterstützen wird.

Das könnte Sie auch interessieren:
  • Nginx-Reverseproxy und Lastausgleichspraxis
  • Tiefgreifendes Verständnis der Matching-Logik von Server und Standort in Nginx
  • Nginx-Zugriffssteuerungs- und Parameteroptimierungsmethoden
  • Detaillierte Erklärung der Best Practices für Django + uwsgi + Nginx online
  • So steigern Sie Ihre Web-Performance um das Dreifache, indem Sie einen Parameter in Nginx aktivieren
  • So verwenden Sie PHP zum Zählen der User-Agent-Daten von Nginx-Protokollen
  • So fügen Sie Nginx zu den Systemdiensten in CentOS7 hinzu
  • So stellen Sie mit Nginx mehrere Vue-Projekte unter demselben Domänennamen bereit und verwenden einen Reverse-Proxy
  • Python-Implementierungsbeispiel zum Überwachen von Unterschieden in Nginx-Konfigurationsdateien und Senden von E-Mail-Benachrichtigungen
  • So blockieren und verbieten Sie Webcrawler im Nginx-Server

<<:  Eine kurze Analyse des MySQL-Index

>>:  Detaillierte Erklärung des virtuellen DOM und des Diff-Algorithmus in React

Artikel empfehlen

Detaillierte Erläuterung des einzeiligen Funktionscodes des Datumstyps in MySQL

Einzeilige Funktionen vom Datumstyp in MySQL: CUR...

Detaillierte Erklärung der MySQL-Berechtigungen und -Indizes

MySQL-Berechtigungen und Indizes Der höchste Benu...

Beispiele für personalisiertes und kreatives Website-Design (30)

Aus diesem Grund haben wir eine Auswahl von 30 Kom...

So stellen Sie das umfassende Benutzererlebnis sicher

Verwandte Artikel: Website-Design für Benutzererfa...

So verstecken Sie RAR-Dateien in Bildern

Sie können dieses Logo lokal als .rar-Datei speic...

Eine kurze Analyse der asynchronen DOM-Aktualisierung von Vue

Inhaltsverzeichnis Das Prinzip der asynchronen DO...

Problem beim Testen des nicht autorisierten Zugriffs auf Zookeeper

Inhaltsverzeichnis Vorwort Erkennen des geöffnete...

Detaillierte Erläuterung der Nginx-Rewrite-Jump-Anwendungsszenarien

Anwendungsszenario 1: Domänennamenbasierte Umleit...

CSS3 realisiert eine springende Ballanimation

Normalerweise besuche ich gerne die Sonderseiten ...

Detaillierte Erklärung des CSS-Pseudoelements::marker

Dieser Artikel stellt ein interessantes Pseudoele...

Docker generiert Bilder über Container und übermittelt DockerCommit im Detail

Inhaltsverzeichnis Nachdem Sie einen Container lo...

Starten Sie die auf Docker basierende nginxssl-Konfiguration

Voraussetzungen Ein Cloud-Server (centOS von Alib...

So mounten Sie eine Festplatte in Linux

Wenn Sie eine virtuelle Maschine verwenden, stell...