IIS ASP. NET Базовое приложение не запускается - PullRequest
0 голосов
/ 18 марта 2020

Я создал ASP. NET Core web API, который был протестирован на многих P C, но при развертывании на клиентском сервере IIS приложение не запускается и не выдает никаких ошибок, как отмечено в Журналы событий приложений. Запустив исполняемый файл напрямую, приложение работает, и вы можете перейти на веб-сайт ASP. NET Core. Я перешел к файлу web.config, чтобы найти dll для запуска:

<?xml version="1.0" encoding="utf-8"?>
<configuration>
  <location path="." inheritInChildApplications="false">
    <system.webServer>
      <handlers>
        <add name="aspNetCore" path="*" verb="*" modules="AspNetCoreModuleV2" resourceType="Unspecified" />
      </handlers>
      <aspNetCore processPath="dotnet" arguments=".\MY_API.dll" stdoutLogEnabled="false" stdoutLogFile=".\logs\stdout" hostingModel="inprocess" />
    </system.webServer>
  </location>
</configuration>
<!--ProjectGuid: c1c1b8d5-abcd-479f-9e7a-abcdefghijkl-->

выполняется dotnet MY_API.dll производит следующее:

Unable to start Kestrel[0] Attempt made to access socket in way forbidden by access permissions

Порт не привязан ни к какому другому приложению, так как, когда я запускаю исполняемый файл, он успешно привязывается к порту, и я могу перейти к localhost: port, и отображается интерфейс api swagger. Команда dotnet успешно запускает приложение в моей разработке P C.

Я могу подтвердить, что IIS работает на тех же модулях, что и на моем устройстве dev P C, и на том же. net Пакет хостинга во время выполнения установлен на сервере, как и на моем устройстве P C. Я чувствую, что это просто проблема с разрешениями, что политика безопасности, возможно, не позволяет мне связывать порты с помощью команды dotnet, которую я прочитал, и именно это IIS использует для запуска приложения в фоновом режиме.

Мои знания об учетных записях служб и ApplicationPoolIdentities очень ограничены. Какие разрешения позволят приложению связать порт с помощью команды dotnet, где запуск исполняемого файла позволяет мне связываться с портом? Как мне изменить эти разрешения?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...