Мы описывали как настраивать веб-публикацию на IIS в инструкции.
Но после настройки веб-публикации при подключении к базе может возникать ошибка “Ошибка HTTP 500.0 — Internal Server Error”.
Если модуль был установлен с 32-битного клиента, то требуется это указать в пуле приложений. Для этого мы делаем следующую настройку:
- Заходим в Панель управления → Администрирование → Диспетчер служб IIS.
- Выбираем Пулы приложения которые задействованы в веб-публикации, в нашем случае DefaultAppPool.
- Нажимаем ПКМ Дополнительные параметры.
- В строке Разрешены 32-разрядные приложения мы указываем True как на Рисунке 1.
- Нажимаем ОК.
Рисунок 1 — Дополнительные параметры пула приложений
Если не сработало, есть следующие возможные решения:
- Убедитесь, что разрешения NTFS для файла web.config верны и обеспечивают доступ к учетной записи компьютера веб-сервера. Заходим в директорию, где размещена публикация (по умолчанию — C:inetpubwwwrootИМЯ_БАЗЫ). Нажимаем ПКМ на web.config → Свойства → Безопасность. Убедитесь в том, что у группы IIS_USERS есть права на чтение, выполнение, запись и изменение файла. Если нет — нажмите кнопку Изменить, в появившемся окне Добавить → Дополнительно и найдите в списке IIS_USERS. Добавьте эту группу и назначьте соответствующие права.
- Проверьте журналы событий, чтобы посмотреть, была ли зафиксирована какая-либо дополнительная информация. Открываем Выполнить (ПКМ на кнопку меню пуск или сочетанием клавиш Win+R), вводим “eventvwr.msc”, нажимаем Enter. Возможно, журнал даст подсказку какой компонент может сбоить.
- Переустановите компонент IIS на сервере. В диспетчере серверов удалите роль Веб-сервера IIS, перезагрузите сервер, а затем установите заново через оснастку Добавить роли и компоненты.
- Установите компонент расширения .NET, если запрос сопоставлен управляемому обработчику.
В Windows Server 2012 и младше: заходим в Диспетчер серверов → Добавить роли и компоненты → Роли сервера → Веб-сервер (IIS) → Веб-сервер → Разработка приложений → Расширяемость .NET. Далее идём далее по указаниям системы.
После применения настроек, мы можем подключаться к настроенной веб-публикации без ошибок.
Нужна готовая настройка веб-доступа к 1С? Попробуйте наш сервер 1С в аренду, в услугу включены все настройки и обслуживание.
Перейти к контенту
Проблема
Эта ошибка возникает после того как Вы опубликуете информационную базу на IIS. Вот она:
Причина и устранение ошибки
Вообще, надо понимать, что ошибка: Ошибка HTTP 500.0 — Internal Server Error говорит нам о том, что дело в самом web-сервере, а не в 1С. Это первое.
Второе. Сама ошибка в купе с 1С скорее всего означает, что Internet Information Services (оно же IIS) в 64-разрядной среде запрещен запуск 32-разрядных приложений. Чтобы успешно выполнить публикацию баз 1С на сервере IIS, необходимо в настройках диспетчера служб IIS разрешить запуск таких приложений.
Для этого выполните Win+R > inetmgr.exe. Далее, разверните «Локальный компьютер», в нем «Пулы приложений», щелкните правой кнопкой мыши по DefaultAppPool «Дополнительные параметры».
Изменив эту настройку и нажав «ОК» 1С начнет нормально работать.
Основатель и директор по развитию Софтонит. Практикующий руководитель разработки. Эксперт в области автоматизации техподдержки
Ошибка 405 и 500 в HTTP сервисе 1С. Поиск и устранение.
Добрый день, хотел поделиться с вами результатом преодоления этих ошибок при работе с http сервисами 1С. С данной ошибкой мне пришлось столкнуться при переписывании мобильного приложения с web сервисов на http. Ошибка возникала при отправке http сервису POST запроса.
Ошибка 405
При работе с некорректным HTTP сервисом из мобильного приложения возвращалась ошибка 405, которая указывает на конкретную проблему. «405 Method Not Allowed — указанный клиентом метод нельзя применить к текущему ресурсу.» Долго не мог разобраться с данной ошибкой, так как в сервисе запрос был разрешен и шаблоны были настроены корректно.
При работе с некорректным HTTP сервисом из внешних программ возвращалась ошибка 500, которая ни о чем конкретном не говорит. «500 Internal Server Error — любая внутренняя ошибка сервера, которая не входит в рамки остальных ошибок класса».
Вроде HTTP сервис один, а при использовании запросов к нему из разных программ возвращались разные ошибки.
Расследование ошибок 405 и 500 в HTTP сервисе 1С
Времени на выяснение причин ушло очень много. За несколько дней до этой задачи мною были проведены десятки экспериментов по сборке и настройке web сервера apache 2.4 x64 SSL для работы с 1С. Все настройки в основном были связаны с кросс доменными запросами из web приложения на javascript. Столкнувшись с ошибками 405 и 500 на другом проекте я сразу полез в дебри конфигурации apache. После полного удаления apache поставил IIS и на нем вышла такая же ошибка. Поднял на виртуальной машине чистую систему, попробовал apache и iss, но ошибка так и проявлялась. Потом я вспомнил, что одна функция мобильного приложения уже давно использует http сервис и там все прекрасно работает. Создал http сервис с базовыми настройками и все заработало.
Как только я переносил код из web сервиса в функции http сервиса, сразу появлялись ошибки. Самое интересное, что отладка не срабатывала, т.е. POST запрос в пустую функцию приходил и отрабатывал, а в функцию с кодом нет.
На многих форумах ошибку 405 описывают как ошибку доступа, либо не корректную настройку http сервиса.
Итог разбора ошибок 405 и 500 в HTTP сервисе 1С.
В итоге все оказалось довольно просто. Функция, которая вызывалась внутри функции http сервиса 1с не могла быть вызвана из данного модуля. Странно, что при сохранении конфигурации никакой ошибки на вызов отсутствующей функции не было. Возможно это глюк версии платформы и будет доработан. При использовании web сервисов, даже если код внутри функции был не корректный, отладка работала. В http сервисе сразу идет возврат с ошибками 405 или 500.
P.S. В последней версии платформы ошибка 405 перестала выходить.
Обновление 12.01.2019
В процессе работы часто приходится сталкиваться с ошибками 405 и 500 в HTTP сервисах. Но проблема в 99% случаев в коде сервиса. Возможно это не явно, код вас может уводить глубоко в другие модули, но решение надо искать именно там.
Сейчас у меня такие ошибки начинают и в рабочих проектах. Стоит только внести небольшое изменение которое вызывает исключительную ситуацию, как вы получите ошибку 500. Мобильный клиент ведет себя еще более странно и отловить реальную ошибку очень тяжело, особенно когда переделывает чужие формы под мобильный клиент.
В данный момент я начинаю с того, что отключаю вызов всех функций и процедур начиная со входа в обработчики HTTP сервиса и смотрю как проходят запросы. Если все хорошо, то я начинаю включать код небольшими кусочками и проверять работу сервиса. Данный метод не самый быстрый, но дает 100% результат.
Если у вас остались вопросы, то вы можете задать мне их в социальных сетях или оставить комментарий ниже.
|
|||
jk3
09.08.17 — 13:39 |
Опубликованная серверная база после обновления на 8.3.10 не открывается. Ошибка HTTP 500.0 — Internal Server Error Пробовал переопубликовать из конфигуратора — не помогает. |
||
jk3
1 — 09.08.17 — 13:48 |
Кажется, победил. Видимо, в этой верии платформы наконец-то допилили нативную 64-разрядную dll для 64-разрядного веб-сервера. - на веб-сервере в пуле приложений выставить Разрешены 32-разрядные приложения = False - на веб-сервере в сопоставлении обработчиков каждой базы прописать ссылку не на 32-разрядную dll, а на 64-разрядную dll C:Program Files1cv88.3.10.2466binwsisapi.dll |
||
timurhv
2 — 09.08.17 — 14:22 |
"Видимо, в этой верии платформы наконец-то допилили нативную 64-разрядную dll для 64-разрядного веб-сервера." Нет, допилили клиент 64 разрядный, вы его и поставили. Но я не уверен, что вы корректно сейчас откроете налоговые декларации со штрих-кодом. |
||
jk3 3 — 09.08.17 — 15:28 |
(2) Нет, клиент на сервер я поставил 32-разрядный (для публикации базы из конфигуратора), а сервер 1С:Предприятия поставил 64-разрядный. |
TurboConf — расширение возможностей Конфигуратора 1С |
ВНИМАНИЕ! Если вы потеряли окно ввода сообщения, нажмите Ctrl-F5 или Ctrl-R или кнопку «Обновить» в браузере.
Тема не обновлялась длительное время, и была помечена как архивная. Добавление сообщений невозможно.
Но вы можете создать новую ветку и вам обязательно ответят!
Каждый час на Волшебном форуме бывает более 2000 человек.
Ошибка работы с Интернет: внутренняя ошибка сервера (500)
Дата обновления: 28.06.2022
Ошибка возникает как при попытке отправить приглашение контрагенту, так и при попытке принять его от контрагента.
Полный текст ошибки:
Выполнение операции: Получение ЭД.
{ОбщийМодуль.ОбменСКонтрагентамиВнутренний.Модуль(3262)}: Ошибка при вызове метода контекста (Получить)
Соединение.Получить(АдресРесурса, ИмяФайлаРезультата, Заголовки);
по причине:
Ошибка при выполнении файловой операции ‘AcceptContact?id=2AED83AF80B-87F3-4A2C-950D-E7CCE2B6CE34’
по причине:
Ошибка работы с Интернет: внутренняя ошибка сервера (500). {
«Details»: «Неизвестная ошибка»,
«AdditionalData»: «Неизвестная ошибка»,
«ApiErrorCode»: 0,
«CommonDescription»: «Неизвестная ошибка сервиса. Попробуйте позже или обратитесь в службу поддержки»,
«StatusCode»: 500
}
по причине:
Ошибка работы с Интернет: внутренняя ошибка сервера (500)
Для решения проблемы необходимо:
1. В разделе «Настройки ЭДО» пометить настройку на удаление.
2. Зайти в Профиль настроек ЭДО (для 1С 8.3 Администрирование — Обмен электронными документами — Обмен с контрагентами — Профили настроек ЭДО — открыть «Профиль» — Ещё — Начальная дата запроса данных у оператора; для 1С 8.2 Сервис — Обмен электронными документами — Профили настроек ЭДО — открыть «Профиль» — Все действия — Начальная дата запроса данных у оператора) и очистить поле для даты запроса данных по приглашениям, см. Рис 1.
Рис. 1
3. Вернуться в раздел «Настройки ЭДО» и нажать на кнопку «Обновить статусы подключения» — статус подключения настройки изменится на «Присоединен».
Internet Information Services (IIS) довольно капризный веб — сервер, его настройка сложнее Apache и при его работе чаще возникают проблемы и ошибки, но он позволяет обеспечить хорошую производительность работы программных продуктов на платформе 1С, работающих через веб — клиент. Маленькие организации могут использовать IIS как замена серверу 1С.
В этой статье я постарался собрать все проблемы и решения ошибки:
HTTP Error 500.0 - Internal Server Error
There is a problem with the resource you are looking for, so it cannot be displayed.
Module IsapiModule
Notification ExecuteRequestHandler
Handler 1C Web-service Extension
HTTP: Internal Server Error
Ошибка работы с ресурсом
Проблема 1. 32 –разрядная платформы 1С
Если у вас ОС Windows 64 – разрядный, а платформу 1С вы используете 32 битную, я рекомендую поставить 64 и повторно опубликовать базу через конфигуратор, предварительно указав в настройках списка баз вариант запуска информационной базы.
Если вы все же решили использовать 32 битную версию платформы, надо установить настройку «Разрешены 32-разрядные приложения» в значение True в параметрах пула приложений
Проблема 2. Путь к библиотеке wsisapi.dll
Бывает так, что указан ошибочной путь к разрядности или версии платформы. Проверьте адрес библиотеки wsisapi.dll в файле C:inetpubwwwroot<Имя вашей публикации>web.config
Проблема 3. Старый компонент Microsoft Visual C++
Установите свежую версию библиотеки Visual C++. Скачать можно официального сайта Microsoft
https://support.microsoft.com/ru-ru/help/2977003.
Проблема 4. Использование разных версий платформ в опубликованных базах
Если вам надо опубликовать базы на разных версиях, создайте новый Пул приложений и укажите его в основных настройках публикации.
Проблема 5. Права доступа к файлам 1С
Группы пользователей IUSR и IIS- IUSRS должны иметь доступ к папкам с установленной платформой, а так же к самой информационной базе .
PS
Если вам не помог совет, напишите об этом в комментариях )
Мар
20
При последнем обновлении платформы 1C и замене 32х битного сервера приложений на 64х битный, столкнулся с проблемой WEB морды: Ошибка HTTP 500.0 — Internal Server Error
Ошибка HTTP 500.0 — Internal Server Error
В чём дело то ? Остановил 32х битный сервер, запустил 64х битный сервер приложений и на тебе.
Полез разбираться. Предположительно, проблема кроется в самом IIS. Если подумать логически, то при смене разрядности сервера запускаются 64х битные приложения от самой 1с. Надо IIS разрешить обрабатывать такие DLL.
Куда лезть, что копать ? Для начала проверим стартовую страницу самого IIS — Default Web Site
Default Web Site — работает и это замечательно ) понятно что IIS исправен.
Что отвечает за работу приложений в разных разрядностях на опубликованных сайтах 1с на сервер IIS ?
Да, это DefaultAppPool. Заходим: Пулы приложений, выбираем DefaultAppPool, с правой стороны — дополнительные параметры.
Строка: Разрешены 32-разрядные приложения стоит TRUE (правда), а не правда. Ставим не правду FALSE.
Ок, закрываем, перегружаем IIS. Проверяем публикацию.
ТАДААААМ!!! прекрасно. Наша — Ошибка HTTP 500.0 — Internal Server Error нас отпустила )
Подводим итоги:
Для запуска опубликованного 1с на IIS при смене разрядности сервера приложений 1с необходимо:
- Изменить в настройках IIS , Пулы приложений, DefaultAppPool.
- Заменить: Разрешены 32-разрядные приложения с TRUE на FALSE.
Всем приятной работы и хорошего настроения.
Ошибка 405 и 500 в HTTP сервисе 1С. Поиск и устранение.
Добрый день, хотел поделиться с вами результатом преодоления этих ошибок при работе с http сервисами 1С. С данной ошибкой мне пришлось столкнуться при переписывании мобильного приложения с web сервисов на http. Ошибка возникала при отправке http сервису POST запроса.
Ошибка 405
При работе с некорректным HTTP сервисом из мобильного приложения возвращалась ошибка 405, которая указывает на конкретную проблему. «405 Method Not Allowed — указанный клиентом метод нельзя применить к текущему ресурсу.» Долго не мог разобраться с данной ошибкой, так как в сервисе запрос был разрешен и шаблоны были настроены корректно.
Ошибка 500
При работе с некорректным HTTP сервисом из внешних программ возвращалась ошибка 500, которая ни о чем конкретном не говорит. «500 Internal Server Error — любая внутренняя ошибка сервера, которая не входит в рамки остальных ошибок класса».
Вроде HTTP сервис один, а при использовании запросов к нему из разных программ возвращались разные ошибки.
Расследование ошибок 405 и 500 в HTTP сервисе 1С
Времени на выяснение причин ушло очень много. За несколько дней до этой задачи мною были проведены десятки экспериментов по сборке и настройке web сервера apache 2.4 x64 SSL для работы с 1С. Все настройки в основном были связаны с кросс доменными запросами из web приложения на javascript. Столкнувшись с ошибками 405 и 500 на другом проекте я сразу полез в дебри конфигурации apache. После полного удаления apache поставил IIS и на нем вышла такая же ошибка. Поднял на виртуальной машине чистую систему, попробовал apache и iss, но ошибка так и проявлялась. Потом я вспомнил, что одна функция мобильного приложения уже давно использует http сервис и там все прекрасно работает. Создал http сервис с базовыми настройками и все заработало.
Как только я переносил код из web сервиса в функции http сервиса, сразу появлялись ошибки. Самое интересное, что отладка не срабатывала, т.е. POST запрос в пустую функцию приходил и отрабатывал, а в функцию с кодом нет.
На многих форумах ошибку 405 описывают как ошибку доступа, либо не корректную настройку http сервиса.
Итог разбора ошибок 405 и 500 в HTTP сервисе 1С.
В итоге все оказалось довольно просто. Функция, которая вызывалась внутри функции http сервиса 1с не могла быть вызвана из данного модуля. Странно, что при сохранении конфигурации никакой ошибки на вызов отсутствующей функции не было. Возможно это глюк версии платформы и будет доработан. При использовании web сервисов, даже если код внутри функции был не корректный, отладка работала. В http сервисе сразу идет возврат с ошибками 405 или 500.
P.S. В последней версии платформы ошибка 405 перестала выходить.
Обновление 12.01.2019
В процессе работы часто приходится сталкиваться с ошибками 405 и 500 в HTTP сервисах. Но проблема в 99% случаев в коде сервиса. Возможно это не явно, код вас может уводить глубоко в другие модули, но решение надо искать именно там.
Сейчас у меня такие ошибки начинают и в рабочих проектах. Стоит только внести небольшое изменение которое вызывает исключительную ситуацию, как вы получите ошибку 500. Мобильный клиент ведет себя еще более странно и отловить реальную ошибку очень тяжело, особенно когда переделывает чужие формы под мобильный клиент.
В данный момент я начинаю с того, что отключаю вызов всех функций и процедур начиная со входа в обработчики HTTP сервиса и смотрю как проходят запросы. Если все хорошо, то я начинаю включать код небольшими кусочками и проверять работу сервиса. Данный метод не самый быстрый, но дает 100% результат.
Если у вас остались вопросы, то вы можете задать мне их в социальных сетях или оставить комментарий ниже.
Ошибка работы с Интернет: внутренняя ошибка сервера (500)
Дата обновления: 28.06.2022
Ошибка возникает как при попытке отправить приглашение контрагенту, так и при попытке принять его от контрагента.
Полный текст ошибки:
Выполнение операции: Получение ЭД.
{ОбщийМодуль.ОбменСКонтрагентамиВнутренний.Модуль(3262)}: Ошибка при вызове метода контекста (Получить)
Соединение.Получить(АдресРесурса, ИмяФайлаРезультата, Заголовки);
по причине:
Ошибка при выполнении файловой операции ‘AcceptContact?id=2AED83AF80B-87F3-4A2C-950D-E7CCE2B6CE34’
по причине:
Ошибка работы с Интернет: внутренняя ошибка сервера (500). {
«Details»: «Неизвестная ошибка»,
«AdditionalData»: «Неизвестная ошибка»,
«ApiErrorCode»: 0,
«CommonDescription»: «Неизвестная ошибка сервиса. Попробуйте позже или обратитесь в службу поддержки»,
«StatusCode»: 500
}
по причине:
Ошибка работы с Интернет: внутренняя ошибка сервера (500)
Для решения проблемы необходимо:
1. В разделе «Настройки ЭДО» пометить настройку на удаление.
2. Зайти в Профиль настроек ЭДО (для 1С 8.3 Администрирование — Обмен электронными документами — Обмен с контрагентами — Профили настроек ЭДО — открыть «Профиль» — Ещё — Начальная дата запроса данных у оператора; для 1С 8.2 Сервис — Обмен электронными документами — Профили настроек ЭДО — открыть «Профиль» — Все действия — Начальная дата запроса данных у оператора) и очистить поле для даты запроса данных по приглашениям, см. Рис 1.
Рис. 1
3. Вернуться в раздел «Настройки ЭДО» и нажать на кнопку «Обновить статусы подключения» — статус подключения настройки изменится на «Присоединен».
Проблема
Эта ошибка возникает после того как Вы опубликуете информационную базу на IIS. Вот она:
Причина и устранение ошибки
Вообще, надо понимать, что ошибка: Ошибка HTTP 500.0 — Internal Server Error говорит нам о том, что дело в самом web-сервере, а не в 1С. Это первое.
Второе. Сама ошибка в купе с 1С скорее всего означает, что Internet Information Services (оно же IIS) в 64-разрядной среде запрещен запуск 32-разрядных приложений. Чтобы успешно выполнить публикацию баз 1С на сервере IIS, необходимо в настройках диспетчера служб IIS разрешить запуск таких приложений.
Для этого выполните Win+R > inetmgr.exe. Далее, разверните «Локальный компьютер», в нем «Пулы приложений», щелкните правой кнопкой мыши по DefaultAppPool «Дополнительные параметры».
Изменив эту настройку и нажав «ОК» 1С начнет нормально работать.
Основатель и директор по развитию Софтонит. Практикующий руководитель разработки. Эксперт в области автоматизации техподдержки