Убедитесь, что вы правильно опубликовали sh сайт в iis. Папка вашего сайта root имеет достаточные права для доступа к ней через iis. назначьте разрешения iis_iusrs и iusr для папки сайта. ваша идентификация пула приложений установлена идентификация пула приложений или локальной системы. анонимная аутентификация включена. и вы установили функцию iis asp. net. убедитесь, что привязка вашего сайта правильная и пул приложений использует правильную версию. net и работает в интегрированном пуле приложений.
Причина сообщения об ошибке
Ошибка HTTP 502.5 - Плохой шлюз и ошибка HTTP 502.5 - Сообщения об ошибках сбоя процесса появляются в ASP. NET Core, когда IIS не может выполнить процесс do tnet.
- . NET Core Runtime не установлен
- Файл web.config не был преобразован
Чтобы решить эту проблему, вы можете воспользоваться одним из предложенных ниже способов:
- Установите. NET Core Runtime
Наиболее распространенная причина этого - отсутствие установленной. NET Core Runtime на сервере.
Вы можете загрузить последнюю версию. NET Среда выполнения ядра с . NET страницы загрузки Microsoft .
После установки Bundle остановите iis и запустите снова.
Publi sh автономное развертывание
Если вы не хотите устанавливать. NET Core Runtime. Альтернативой для. NET Базовых веб-приложений является их публикация sh в автономном режиме развертывания, который включает в себя необходимые NET исполняемые файлы вместе с вашим приложением.
Если вы используете go с этим параметром, вам также необходимо выбрать целевую среду выполнения: win-x86, win-x64, osx-x64 или linux -x64. Поскольку автономные развертывания не переносимы.
Преобразование файла web.config
Другая причина возникновения этой ошибки - развертывание нетрансформированного файла web.config.
Это может быть вашей проблемой, если У вас было ранее работающее веб-приложение, и вы просто развернули его новую версию.
В ASP. NET Базовые приложения, файл web.config содержит обработчик, который направляет запросы в AspNetCoreModule и aspNetCore элемент, который определяет и настраивает процесс ASP. NET Core для выполнения вашего веб-приложения.
Вот минимальный файл web.config для ASP. NET Core приложения:
<?xml version="1.0" encoding="utf-8"?>
<configuration>
<system.webServer>
<handlers>
<add name="aspNetCore" path="*" verb="*" modules="AspNetCoreModule" resourceType="Unspecified" />
</handlers>
<aspNetCore processPath="%LAUNCHER_PATH%" arguments="%LAUNCHER_ARGS%" stdoutLogEnabled="true"
stdoutLogFile=".\logs\stdout" forwardWindowsAuthToken="false"/>
</system.webServer>
</configuration>
Проблема в том, что нетрансформированный файл web.config содержит переменные% LAUNCHER_PATH% и% LAUNCHER_ARGS%, а не правильные пути. Когда IIS пытается запустить ASP. NET Core, он использует% LAUNCHER_PATH% и% LAUNCHER_ARGS%, а не правильный путь и аргументы. Чтобы исправить ошибку HTTP 502.5 в ASP. NET Core, необходимо преобразовать файл web.config и заменить нетрансформированный файл web.config на веб-сервере IIS.
шаги для преобразования web.config file:
Это преобразование происходит, когда вы решаете опубликовать sh ваше веб-приложение. Преобразованный файл web.config попадает в опубликованную выходную папку. Поэтому вам просто нужно опубликовать sh ваше веб-приложение и скопировать полученный файл web.config на сервер.
В преобразованном файле web.config элемент aspNetCore будет выглядеть примерно так:
<aspNetCore processPath="dotnet" arguments=".\MyApplication.dll" stdoutLogEnabled="true"
stdoutLogFile=".\logs\stdout" forwardWindowsAuthToken="false" />
% LAUNCHER_PATH% был заменен на do tnet, а% LAUNCHER_ARGS% был заменен путем к пути к основному веб-приложению dll. \ MyApplication.dll.
ссылки:
Publi sh и ASP. NET Базовое приложение для IIS