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

Hilfe zum Webdesign: Datenreferenz für Web-Schriftgrößen

<br />Der Inhalt wurde aus dem Internet repr...

Detaillierte Erläuterung der Tomcat-Konfigurations- und Optimierungslösungen

Service.xml Die Konfigurationsdatei Server.xml wi...

JavaScript realisiert den Drag-Effekt der Modalbox

Hier ist ein Fall des Ziehens einer modalen Box. ...

Semantik, Schreiben und bewährte Methoden für Link A

Die Semantik, der Schreibstil und die Best Practi...

Tutorial zu HTML-Formular-Tags (2):

Dieses Tutorial stellt die Anwendung verschiedene...

Verwendung des Node.js-HTTP-Moduls

Inhaltsverzeichnis Vorwort HTTP HTTP-Server Datei...

Implementierungsidee zur Linksausrichtung der letzten Zeile des Flexbox-Layouts

Wenn es sich bei der Verwendung des Flex-Layouts ...

jQuery Canvas generiert ein Poster mit einem QR-Code

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

MySQL-Cursorfunktionen und -Verwendung

Inhaltsverzeichnis Definition Die Rolle des Curso...