Требования: ASP.NET Core уже поддерживает прослушивание UDS (Unix domain socket), если сайты Nginx и ASP.NET Core находятся на одном сервере, они могут общаться напрямую через UDS, а сокеты Unix обычно имеют меньшие накладные расходы и более высокую скорость передачи, чем использование TCP/IP.
Обзор:
Во-первых, чтобы создать новое веб-приложение на .NET 8, я инкапсулировал метод расширения ListenerUnix следующим кодом:
В Program.cs называйте следующим образом:
Код в основном поддерживает параметры URL для включения прослушивания http и сокетов домена Unix, и после успешного запуска приложения,Установите разрешение файла сокета домена Unix на 777В противном случае, при nginx обратном прокси к UDS, в противном случае он может сообщать о проблемах с правами, следующим образом:
2025/09/17 11:01:26 [крит] 2887135#0: *112497 подключено() к unix:/var/run/itsvse.socket не удалось (13: Разрешение отказано) при подключении к upstream, клиент: x.x.x.x, сервер: itsvse.com, запрос: "GET / HTTP/2.0", upstream: "http://unix:/var/run/itsvse.socket:/", хост: "itsvse.com" Если нужно вручную установить права 777, команда выглядит следующим образом:
Если сервер Linux не может быть отправлен на сервер Linux, запуск проходит успешно, как показано на следующем рисунке:
Используя тестирование на загибание, команда выглядит следующим образом:
Как показано ниже:
Конфигурация Nginx следующая:
Обратный прокси-путь настроен на два,Один с :/, другой без :/, эффект можно определить, запросив выход, как показано на рисунке ниже:
Ссылка:
Вход по гиперссылке виден.
Вход по гиперссылке виден.
Вход по гиперссылке виден. |