8 Способов Задать URL в Приложении ASP.NET Core. Начало
По умолчанию приложения ASP.NET Core в .NET 8 прослушивают URL-адрес http://localhost:5000. Рассмотрим 8 различных способов изменить его.
Существует три класса URL, которые вы можете привязать:
- Адрес обратной связи (loopback) для IPv4 и IPv6 (например,
http://localhost:5000, http://127.0.0.1:5000 или http://[::1]:5000) в формате: {scheme}://{loopbackAddress}:{port}- Конкретный IP, доступный на вашем компьютере (например,
http://192.168.8.31:5005), в формате {scheme}://{IPAddress}:{port}.- «Любой» IP для заданного порта (например,
http://*:6264) в формате {scheme}://*:{port}- В .NET 8, помимо TCP, вы также можете прослушивать запросы по именованным каналам и сокетам Unix, но это тема для отдельного поста.
Порт является необязательным. Если его не указывать, будет использован порт по умолчанию (80 или 8080 для http и 443 для https).
Выбор варианта будет зависеть от механизма развёртывания. Если у вас несколько приложений на машине, может потребоваться указать явный IP. Если одно в контейнере, то вы можете использовать «любой» адрес, но обычно используют localhost.
Замечание: В формате «любой» IP не обязательно использовать
*. Подойдёт всё, что не является IP или localhost: http://*, http://+, http://mydomain или http://example.org. Все варианты прослушивают любой IP-адрес. Если вы хотите обрабатывать запросы только от определённого имени хоста, необходимо дополнительно настроить фильтрацию хостов.После выбора подходящего варианта, необходимо установить URL, к которым привязывается ASP.NET Core при запуске. Есть следующие способы:
1. UseUrls() в Program.cs.
2. WebApplication.Urls и WebApplication.Run() в Program.cs.
3. Аргументы командной строки: параметр --urls.
4. Переменные окружения для URL: DOTNET_URLS или ASPNETCORE_URLS.
5. Переменные окружения для портов: DOTNET_HTTP_PORTS или ASPNETCORE_HTTP_PORTS (и аналогично для HTTPS).
6. В appSettings.json: свойство urls.
7. В launchSettings.json: свойство applicationUrl.
8. В KestrelServerOptions.Listen() либо в IConfiguration, используя свойство Kestrel.
Далее рассмотрим их подробно.
Продолжение следует…
Источник: https://andrewlock.net/8-ways-to-set-the-urls-for-an-aspnetcore-app/