#.net #asp.net-core #asp.net-mvc-routing #asp.net-core-mvc #.net-core
#.net #asp.net-ядро #asp.net-mvc-routing #asp.net-core-mvc #.net-ядро
Вопрос:
Я пытаюсь настроить новое приложение .NET Core MVC, чтобы разрешить все поддомены для многопользовательского приложения. Я добавил ограничение маршрута, чтобы я мог извлекать информацию об арендаторе, но не могу заставить мое решение разрешить любые поддомены. Я хотел бы добиться этого без необходимости редактировать мой локальный файл Windows hosts для тестирования. Возможно ли это?
Комментарии:
1. Как вы собираетесь протестировать несколько поддоменов на своем локальном компьютере без редактирования файла hosts? Ваше приложение .NET Core MVC прослушивает все входящие запросы по вашему локальному IP-адресу (или тому, что вы настроили в своем
WebHostBuilder
, но если вы хотите протестировать любые другие имена хостовlocalhost
, вам нужно добавить их в файл hosts. В проекте saaskit есть хороший способ справиться с несколькими арендаторами. Вы могли бы взглянуть на это: github.com/saaskit/saaskit
Ответ №1:
В случае, если у кого-то еще есть эта «проблема», я закончил тем, что использовал домен, который перенаправляет обратно на мой локальный компьютер — подробности см. На Этом веб-сайте.
Ответ №2:
Вы правы, если вы запускаете project под iisExpress
, вы должны установить некоторую конфигурацию.
но если вы запустите свой проект с dotnet run
ним, это позволит вам использовать любой поддомен, который вы хотите…
Ответ №3:
Что я обычно делаю для многопользовательских веб-приложений, так это использую локальный (или интрасетевой) DNS для перевода доменных имен, потому что таким образом вы будете иметь полный контроль над тем, как переводятся домены.
Примерные шаги:
1) Настройте локальный DNS-сервер и настройте локальную сеть компьютера разработки на использование IP-адреса DNS-сервера 2) Настройте домен (такой локальный, как домен, который я всегда делаю, и установите *.local для указания IP-адреса вашего компьютера разработки, поэтому поддомен будет SiteA.local, SiteB.local и т. Д.) 3) В вашем приложении .NET Core MVC. прослушивайте определенный порт (обычно я делаю это как прослушивающий порт 80 для HTTP напрямую, но убедитесь, что вы запускаете приложение с правами администратора, если вам нужен удобный порт 80 вместо портов, таких как 5000)
4) viola, наслаждайтесь, поскольку все поддомены local (такие как SiteA.local, SiteB.local и т. Д.) Будут Указывать на вашу локальную машину разработки, А затем иметь приложение .NET Core MVC для обслуживания всех доменов