Zahteve: ASP.NET Core že podpira poslušanje UDS (Unix domain socket), če sta Nginx in ASP.NET Core lokacije na istem strežniku, lahko dejansko komunicirata neposredno preko UDS, Unix domenske vtičnice pa imajo običajno manj režije in hitrejšo hitrost prenosa kot uporaba TCP/IP.
Pregled:
Najprej sem za ustvarjanje nove .NET 8 spletne aplikacije kapsuliral metodo razširitve ListenerUnix z naslednjo kodo:
V Program.cs pokličite takole:
Koda predvsem podpira parametre URL-jev za omogočanje poslušanja http in poslušanja Unix domene socket, in po uspešnem zagonu aplikacije,Nastavite dovoljenje za Unix domensko vtičnico na 777V nasprotnem primeru, ko nginx obrne proxy v UDS, lahko sicer poroča o težavah z dovoljenji, kot sledi:
2025/09/17 11:01:26 [kritični udarec] 2887135#0: *112497 connect() do unix:/var/run/itsvse.socket ni uspel (13: Dovoljenje zavrnjeno) med povezavo na upstream, odjemalca: x.x.x.x, strežnik: itsvse.com, request: "GET / HTTP/2.0", upstream: "http://unix:/var/run/itsvse.socket:/", gostitelj: "itsvse.com" Če morate ročno nastaviti dovoljenja za 777, je ukaz naslednji:
Če Linux strežnika ni mogoče poslati na Linux strežnik, je zagon uspešen, kot je prikazano na naslednji sliki:
Z uporabo curl testa je ukaz naslednji:
Kot je prikazano spodaj:
Nginx konfiguracija je naslednja:
Obratna proxy pot je nastavljena z dvema,Ena z :/, ena brez :/, učinek lahko razlikujete tako, da zahtevate izhod, kot je prikazano na spodnji sliki:
Referenčni:
Prijava do hiperpovezave je vidna.
Prijava do hiperpovezave je vidna.
Prijava do hiperpovezave je vidna. |