Gereksinimler: ASP.NET Core zaten UDS (Unix alan soketi) dinlemeyi destekliyor, eğer Nginx ve ASP.NET Core siteleri aynı sunucudaysa, doğrudan UDS üzerinden iletişim kurabilirler ve Unix alan soketleri genellikle TCP/IP kullanımına göre daha az yük ve daha hızlı iletim hızına sahiptir.
Eleştiri:
İlk olarak, yeni bir .NET 8 web uygulaması oluşturmak için aşağıdaki kodla bir ListenerUnix uzantı yöntemini kapsülledim:
Program.cs olarak şu şekilde çağrılın:
Kod esas olarak http dinleme ve Unix alan soketi dinlemesini etkinleştirmek için URL parametrelerini destekler ve uygulama başarıyla başlatıldıktan sonra,Unix alan soketi dosya iznini 777 olarak ayarlayınAksi takdirde, nginx UDS'ye ters proxy verdiğinde, izin sorunlarını aşağıdaki gibi bildirebilir:
2025/09/17 11:01:26 [kritik isabet] 2887135#0: *112497 unix:/var/run/itsvse.socket'e bağlanırken başarısız oldu (13: İzin reddedildi) upstream'e bağlanırken istemci: x.x.x.x, sunucu: itsvse.com, istek: "GET / HTTP/2.0", yukarı akış: "http://unix:/var/run/itsvse.socket:/", sunucu: "itsvse.com" 777 izinlerini manuel olarak ayarlamanız gerekiyorsa, komut şöyledir:
Eğer Linux sunucusu Linux sunucusuna gönderilemiyorsa, aşağıdaki şekilde gösterildiği gibi başlangıç başarılıdır:
Curl testiyle komut şu şekildedir:
Aşağıda gösterildiği gibi:
Nginx yapılandırması şu şekildedir:
Ters proxy yolu iki ile ayarlanır,Biri :/ ile, biri :/ olmadan :/, aşağıdaki şekilde gösterildiği gibi çıktıyı talep ederek etkinliği ayırt edebilirsiniz:
Referans:
Bağlantı girişi görünür.
Bağlantı girişi görünür.
Bağlantı girişi görünür. |