Карта сайта Kansoftware
НОВОСТИУСЛУГИРЕШЕНИЯКОНТАКТЫ
KANSoftWare

Проблемы с запуском ISAPI.DLL в IIS после изменения модуля ICS для Delphi-приложений

Delphi , Интернет и Сети , Интернет

 

Введение

В данной статье мы рассмотрим проблему, связанную с запуском ISAPI.DLL в среде IIS после внесения изменений в модуль ICS, используемый в Delphi-приложениях. Проблема заключается в том, что после добавления всего двух строк коду, связанных с ICS, DLL перестаёт отвечать в IIS, выдавая ошибку HTTP 503. Пользователь пытается использовать ICS для аутентификации по протоколу OAuth и работы с REST-API (в частности, для FedEx).

Контекст проблемы

Пользователь столкнулся с проблемой, когда после добавления двух строк кода в модуль, относящийся к ICS, его ISAPI.DLL перестал работать в IIS. Ошибка, с которой он столкнулся, указывает на проблему с HTTP-сервисом (ошибка 503). В журнале событий Windows было обнаружено, что приложение пула (AppPool) не может устанавливать связь с Windows Process Activation Service (WAS). Также упоминается, что был добавлен webview2loader.dll в IIS, но это не привело к улучшению ситуации. В консольном приложении VCL все работает корректно. После удаления двух добавленных строк код снова начал работать.

Предложенные решения

В ответах на вопрос были предложены следующие решения: - Проверка на то, что ISAPI.DLL может найти библиотеки OpenSSL и имеет права на их загрузку. - Отключение определения OpenSSL_Resource_Files, что может быть причиной проблем при попытке извлечения OpenSSL DLL из DLL. - Отключение определения OpenSSL_AutoLoad_CA_Bundle, которое заставляет OpenSSL загружаться при запуске любого приложения ICS, даже если не используются компоненты ICS. - Отключение определения OpenSSL_Check_Signed, что останавливает проверку подписи сертификата, которая может не работать на старых версиях Windows.

Решение, предложенное пользователем

Пользователь нашёл решение, отключив определения OpenSSL_Resource_Files и OpenSSL_AutoLoad_CA_Bundle, а также добавив библиотеки libcrypto-3-x64.dll и libssl-3-x64.dll в путь веб-сервиса и разрешив их выполнение в IIS. Также он временно отключил функцию проверки подписи сертификата, но впоследствии восстановил исходное поведение, удалив своё "грязное" решение, и модуль заработал корректно.

Примеры кода

К сожалению, в предоставленном контексте нет примеров кода, которые можно было бы использовать для иллюстрации решений. Однако, в общем случае, для отключения определений в Delphi, можно использовать следующий синтаксис:

{$IFDEF кондиция}
  {$DEFINE OpenSSL_Resource_Files OFF}
{$ELSE}
  {$DEFINE OpenSSL_Resource_Files ON}
{$ENDIF}

Заключение

Проблема с запуском ISAPI.DLL в IIS после изменения модуля ICS была успешно решена благодаря вниманию к деталям в настройке среды выполнения и корректной настройке путей к необходимым библиотекам. Пользователь смог возобновить работу с FedEx через ICS, и теперь его сервис функционирует стабильно.

Выводы для дальнейшей работы

  • Важно тщательно проверять все зависимости и права доступа при работе с внешними библиотеками.
  • Необходимо учитывать специфику работы с сервисами, такими как OAuth, и планировать механизмы обработки и обновления токенов.
  • При возникновении проблем с внешними библиотеками, такими как OpenSSL, следует обращать внимание на их версии и совместимость с операционной системой.

Создано по материалам из источника по ссылке.

Статья описывает техническую проблему, связанную с ошибкой в работе DLL в среде IIS после внесения изменений в код модуля, связанного с аутентификацией и работой с API.


Комментарии и вопросы

Получайте свежие новости и обновления по Object Pascal, Delphi и Lazarus прямо в свой смартфон. Подпишитесь на наш Telegram-канал delphi_kansoftware и будьте в курсе последних тенденций в разработке под Linux, Windows, Android и iOS




Материалы статей собраны из открытых источников, владелец сайта не претендует на авторство. Там где авторство установить не удалось, материал подаётся без имени автора. В случае если Вы считаете, что Ваши права нарушены, пожалуйста, свяжитесь с владельцем сайта.


:: Главная :: Интернет ::


реклама


©KANSoftWare (разработка программного обеспечения, создание программ, создание интерактивных сайтов), 2007
Top.Mail.Ru

Время компиляции файла: 2024-12-22 20:14:06
2025-02-22 11:46:56/0.003957986831665/0