ASP.net 5 Self-Hosted on Live Windows Server - разрешено разрешение EACCES?

У меня создалось впечатление, что мы могли бы запустить консольное приложение на реальном сервере, который будет слушать и обслуживать данные (веб-страницы, если они были для этой цели). Таким образом, нам не нужно будет размещать наши веб-приложения в IIS. Я всегда думал, что это то, что означает "размещение веб-приложений в вашем собственном процессе".

Вот часть моего project.json, которая, на мой взгляд, актуальна:

  "dependencies": {
    "Microsoft.AspNet.IISPlatformHandler": "1.0.0-rc1-final",
    "Microsoft.AspNet.Server.Kestrel": "1.0.0-rc1-final"
  },

  "commands": {
    "web": "Microsoft.AspNet.Server.Kestrel --server.urls http://localhost:5010"
  },

Если я пошел в командную строку, dir в корень проекта, а затем запустил dnx web, да, действительно, консольное приложение запущено, и я могу перейти в свой браузер и набрать http://localhost:5010 и см. веб-сайт.

Но когда я изменяю этот url на фактический url (и да, у меня уже есть DNS, указывающий на мой сервер для этого URL-адреса), я получу ошибку EACCES permission denied.

Если мы можем "самостоятельно", но только с localhost, это кажется хорошим только для локального развития. Почему у вас есть способность "самостоятельно принимать участие в моем собственном процессе", если это не может быть для жизни/производства?

Что мне нужно сделать? Мне нужно установить некоторые разрешения для конкретной папки? Какой пользователь/группа, какие разрешения и какая папка? Я попробовал IIS_IUSRS в корне проекта, и, конечно, это не работает, потому что я все равно хотел обойти IIS.

Любая помощь будет принята с благодарностью.

Ответ 1

Для тех, кто найдет этот вопрос позже:

Когда вы запускаете сервер Kestrel, вам необходимо убедиться, что на этом порту уже нет чего-то, иначе он не сможет запустить. IIS является очевидным преступником, если вы пытаетесь разместить что-то на стандартном http (порт 80). Вам либо нужно остановить все, что работает на этом порту, либо использовать его для пересылки трафика на сервер Kestrel.

Более подробную информацию о размещении проектов ASP.NET 5 непосредственно в IIS можно найти здесь: https://docs.asp.net/en/latest/publishing/iis.html