Anforderungen: ASP.NET Core bereits das Hören von UDS (Unix-Domänensocket) unterstützt, können Nginx- und ASP.NET Core-Standorte, wenn sie auf demselben Server sind, tatsächlich direkt über UDS kommunizieren, und Unix-Domänensockets haben in der Regel weniger Overhead und eine höhere Übertragungsgeschwindigkeit als TCP/IP.
Rezension:
Zuerst habe ich, um eine neue .NET 8-Webanwendung zu erstellen, eine ListenerUnix-Erweiterungsmethode mit folgendem Code kapselt:
In Program.cs rufen Sie wie folgt auf:
Der Code unterstützt hauptsächlich URL-Parameter, um HTTP-Listening und Unix-Domänen-Socket-Listening zu ermöglichen, und nachdem die Anwendung erfolgreich gestartet wurde,Setze die Berechtigung für die Unix-Domänen-Socket-Datei auf 777Andernfalls kann beim nginx Reverse Proxy zu UDS Berechtigungsprobleme melden, wie folgt:
2025.09.17 11:01:26 [Kritik] 2887135#0: *112497 connect() mit unix:/var/run/itsvse.socket fehlgeschlagen (13: Berechtigung verweigert) beim Verbinden mit Upstream, Client: x.x.x.x.x, Server: itsvse.com, Anfrage: "GET / HTTP/2.0", Upstream: "http://unix:/var/run/itsvse.socket:/", Host: "itsvse.com" Wenn Sie die 777-Berechtigungen manuell festlegen müssen, lautet der Befehl wie folgt:
Wenn der Linux-Server nicht an den Linux-Server gesendet werden kann, ist der Start erfolgreich, wie in der folgenden Abbildung dargestellt:
Mit Curl-Testing lautet der Befehl wie folgt:
Wie unten gezeigt:
Die Nginx-Konfiguration ist wie folgt:
Der Reverse Proxy-Pfad wird mit zwei eingerichtet,Einer mit :/, einer ohne :/, du kannst den Effekt unterscheiden, indem du die Ausgabe anforderst, wie in der untenstehenden Abbildung dargestellt:
Referenz:
Der Hyperlink-Login ist sichtbar.
Der Hyperlink-Login ist sichtbar.
Der Hyperlink-Login ist sichtbar. |