Зависает веб сервис 1с
Возьмем для примера веб-сервер на базе MS IIS с публикациями баз 1С. Бывают случаи, когда сеансы пользователей зависают. Например, при использовании веб/тонкого клиента 1С.
Одно дело — клиент-серверный вариант, с применением СУБД. С ним проще. Открываете административную консоль и через список закрываете эти зависшие сеансы.
В случае файловой базы все не так тривиально. В Конфигураторе вы можете видеть эти якобы активные сеансы, но отдельной команды в интерфейсе на закрытие — попросту нет.
Стандартная рекомендация — перезапуск веб-сервера. В принципе, она должна помочь, и зависшие сеансы на файловых базах очистятся.
Но, на практике выполнить сложнее, т. к. баз бывает несколько и ведется активная работа других пользователей. Могут быть ошибки и потери связи. Плюс недовольства сотрудников, что их работу прервали.
Какое может быть решение? Один из выходов — более тонкая настройка IIS.
Сделать так, чтобы каждая опубликованная база (приложение) выполнялась в отдельном пуле приложений. По умолчанию все публикации «привязываются» к DefaultAppPool.
Выберите время и настройте IIS, чтобы каждой информационной базе был сопоставлен отдельный пул.
Или сгруппируйте базы так, как вам удобно, чтобы сократить количество пулов. Выходит, что базы будут не в одной «куче», а по отдельности.
- Откройте консоль «Диспетчер служб IIS».
- В левой части выберите «Пулы приложений», а справа по команде «Добавить пул приложений…» зарегистрируйте новый пул с настройками, аналогичными пулу по умолчанию. Добавьте понятное имя, например, по названию публикации ИБ.
- Перейдите в список опубликованных баз.
- Выберите ИБ, через «Основные настройки…» укажите новый пул из ранее созданного в п. 2.
- Повторите шаги 1-4 для других информационных баз при необходимости.
Теперь, когда появляется задача по закрытию зависших сеансов в 1С — вы перезапускаете соответствующий пул, а не веб-сервер. Таким образом не мешаете своим коллегам работать с базами.
Добрый день.
На Windows 2008 R2 Standart на IIS опубликована БД 1С версии 1С:Предприятие 8.3 (8.3.9.2170). При входе через браузер или тонкий клиент из вне открывается страница загрузки 1С Предприятие и дальше ничего не происходит, запрос авторизации не выходит, ошибки не выдаёт. В чём может быть причина?
Проблема скрывалась в лицензиях, почему-то при подключении видит только одну сетевую лицензию, первый пользователь заходит, а остальные не могут зайти. Программа при этом не ругается на нехватку лицензии. Лицензии раздает сервер.
10-й пункт инструкции
Все снес и заново установил 1С клиент и 1С сервер, заново настроил IIS, как в(6) выбрал "no managed code".
Попробовал на тестовых пользователях, вроде заработало. Сегодня народ на работу выйдет посмотрю как будет работать.
(7) хотели запустить мобильный документооборот, тоже стоит IIS, возникли проблемы. нам 1сники так же ответили: apache и никаких проблем..
Проблема скрывалась в лицензиях, почему-то при подключении видит только одну сетевую лицензию, первый пользователь заходит, а остальные не могут зайти. Программа при этом не ругается на нехватку лицензии. Лицензии раздает сервер.
Уважаемый у меня такая же проблема как и у вас.
Так как я недавно занимаюсь 1С можете ли вы мне подробно объяснить как решается этот вопрос?
Заранее спасибо
(13) Как установить лицензию на каждое рабочее место?
В комплект программных лицензий на 5, 10 и 20 рабочих мест входит два комплекта пин-кодов и можно выбрать как активировать, одну многопользовательскую на сервере или несколько однопользовательских на каждом рабочем месте по отдельности.
Активировать на рабочем месте можно только в случае, если для доступа используется тонкий клиент 1с, а не браузер.
(14) А какой тогда смысл без браузера работать?
Если задача состоит в том, чтобы работа шла через веб.
Автор темы как раз и пишет оп проблем с работой через браузер и её решении
(15) Автор пишет "При входе через браузер или тонкий клиент"
На локальной машине увидеть лицензию может только тонкий клиент, а при работе через браузер установкой лицензий на локальных машинах проблему решить было бы невозможно.
(16) И как тогда быть? Через браузер удается зацепить только одного клиента. Остальные видят заставку и всё, если некорректно завершить сеанс через браузер, то ВООБЩЕ никого не пускает. Перезагрузка 1С агента дает возможность подключить снова только одного клиента через веб
(18) Клиент серверная. Есть сервак СКУЛ на нем Предприятие 1С не нем же терминальный сервер. Всё работает нормально. В этом серваке торчат несколько USB ключей (базы разные). Подняли веб сервер апач - попытались зацепиться - поймали описанную ситуацию. Забили
Ну а задачу решать надо. Сделали новый сервак подняли на нем IIS. настроили на него веб публикацию.
Цепляемся по веб - то же самое, только один сеанс, остальные сеансы даже авторизацию не запрашивают.
По веб предполагается работать с документооборотом. Причем не важно где будет стоять веб сервер либо на старом либо на новом серваке без разницы - главное чтобы работал.
Перерыл инфу по веб клиентам 1С (через браузер), пока ничего толкового не нашел как настроить выдачу лицензий в связке 1с предприятие - веб сервер-веб клиент.
(19) тогда вообще не понял, какое отношение ситуация у автора топика имеет к вашему случаю?
у вас же USB, а не программные лицензии!
для начала озвучьте маркировку ключей, где они установлены, на той же машине, на которой запущен сервер или по сети, установлен ли HASP LM, настройки ini-файлов
что в настройках сервера указано в поле Разрешить выдачу лицензий сервером 1С:Предприятия - Да или Нет?
Текущая:
Локальный HASP4 ORGL8 10, получило клиентское приложение
Информационная база:
Локальный HASP4 EN8SA 1
Сетевой HASP4 ORGL8
HASP4 ORGL8 100
HASP4 EN8SA 1
Локальный HASP4 ENSR8 1
Локальный HASP4 ORGL8 100
Один из них (как раз для документооборота) установлен в виде USB на сервер SQL (там же работает предприятие 1с)
HASP LM установлен, но не могу сказать правильно ли он работает.
В ini файлах указаны адреса серверов откуда брать, со стороны сервера указаны подсети куда раздавать
Если в в настройках сервера указано в поле Разрешить выдачу лицензий сервером 1С:Предприятия ДА, то ЛОКАЛЬНЫЙ web сервер позволяет подцепить одного веб клиента.
Если указано НЕТ, то веб клиент при подключении выдает ошибку (не найдена лицензия)
веб сервер на другом компе упал, поэтому - что он говорит сказать не могу.
(21) Сколько всё о ключей, какие точно (лучше с маркировкой) и на каких серверах/ПК они установлены ?
В случае, когда запускается этот один веб-клиент, то какая текущая лицензия отображается в справке о программе?
Какой ключ или ключи реально установлены на этом компе?
Дам свою инфу о подобной проблеме.
На 8.3.12 / 8.3.13 словили проблему, когда при запуске висит окно с картинкой.
Сеанс на сервере 1С при этом не появлялся.
Проблема возникала не у всех пользователей домена/1С, т.е. кто-то стабильно входил, а кто-то зависал на картинке "Предприятие" (IE, 1С-Документооборот, win-аутентификация).
В итоге проблема решилась
а) Перезагрузкой домен-контроллеров.
б) изменением настройки пула IIS - Load User Profile (Загрузить профиль пользователя) на False
(подробнее о настройках пулов IIS можно почитать здесь: Application Pool Identities в IIS
(12) Спасибо вам, добрый человек!
Лично у меня именно данный пункт был причиной зависания статичного логотипа 1С при запуске через браузер.
б) изменением настройки пула IIS - Load User Profile (Загрузить профиль пользователя) на False
У кого похожая проблема, пробуйте и читайте статью Application Pool Identifies в IIS
Такая же проблема, версия платформы 1С:Предприятие 8.3 (8.3.14.1630), при подключении та же табличка, никаких ошибок нет. Ключ в сервере 20 пользовательский USB и пара отрослевых ключей. Куда рыть подскажите плз
(23) На днях столкнулись с проблемой на 8.3.15
Помогло удалить 1С, установить 1С (все пункты платформы) и перезагрузить сервер (полностью, физически).
О причинах гадать не берусь.
Помимо изменения настройки пула IIS - Load User Profile (Загрузить профиль пользователя) на False на подобное поведение платформы влияют настройки проверки подлинности: должна быть включена анонимная проверка подлинности
Использование веб-сервера и публикаций информационных баз — один из способов оптимизации 1С. Особенно при работе с ИБ в файловом варианте. Так безопаснее. Сотрудники подключаются к ИБ 1С через браузер или тонкий клиент , не имея прямого доступа к файлам.
В статье расскажем, как решали возникающие вопросы по настройкам Internet Information Services. Через призму своего опыта и коллег.
Подробнее описано здесь . В проекте использовали бесплатный SSL-сертификат Let's Encrypt. Но поспешили отключить внешние соединения на 80-й порт — что было ошибкой.
Сертификат выдается сроком на 90 дней. Для автоматического продления создается периодическое задание в Планировщике. При запуске задачи сайт должен быть доступен (пройти проверку домена) по 80-му порту.
II. Типовая настройка и публикация информационных баз на IIS
На что обратить внимание:
1. Состав компонентов IIS — в Интернете полно инструкций и указаний. Повторяться не будем.
2. Установка 1С необходимой разрядности . Варианта 2: x86 (32-разрядное приложение) или x64. Обязательно выбираем «Модули расширения веб-сервера».
3. Права для встроенной группы /пользователю веб-сервера (IUSR) на папки:
- с установленной платформой — на «чтение и выполнение» (для старта процессов);
- самих расположений ИБ — на «изменение» (в случае файлового варианта).
4. Публикация базы через Конфигуратор 1С . Возможно потребуется открыть программу с повышенными правами — «Запуск от имени администратора».
5. Для 32-разрядного клиента 1С в диспетчере IIS включаем разрешение запуска ( DefaultAppPool — Дополнительные параметры — Разрешены 32-разрядные приложения = True ). Для 1C x64 — значение не меняем.
6. На странице сопоставления обработчиков для «1С Web-service Extension» потребуется указать путь к исполняемому модулю :
- x86 — «C:\Program Files (x86)\1cv8\8.3.x.xx\bin\wsisapi.dll»;
- x64 — «C:\Program Files\1cv8\8.3.x.xx\bin\wsisapi.dll».
Либо изменяем путь к библиотеке в файлах web.config через Блокнот (располагается, как правило, в c:\inetpub\wwwroot\).
Если в п. 2 все сделано правильно — по указанному пути должен присутствовать файл wsisapi.dll.
7. В частных случаях требуется перезапуск служб IIS . Выполните «Перезапустить» в оснастке управления или перезагрузите сервер.
✅ Соблюдаем соответствие разрядности: если запускаем и публикуем 64-разрядный клиент 1С:Предприятие, то dll также должна быть 64-битной версии.
Если публикуем 32-разрядную версию 1С, то ставим разрешение запуска 32-разрядных приложений на IIS и проверяем путь к wsisapi из каталога x86.
III. Если клиент 1С зависает при подключении к базе по web
Прежде посмотрите этот материал — там общие рекомендации.
Другой случай. Файловая ИБ опубликована на IIS. После авторизации зависает на эмблеме 1С. При открытии Конфигуратора — все нормально.
В журналах Windows ошибка «Процесс, обслуживающий пул приложений "1С", не ответил на команду ping».
- проверьте права на папку с базой 1С для IUSR/IIS_IUSRS, уровень доступа — на «изменение»;
- в оснастке IIS «Пулы приложений — — Дополнительные параметры — Модель процесса» задайте для « Максимальная задержка отклика при проверке связи » значение, превышающее 90 секунд;
- посмотрите на поведение IIS при «Проверка связи включена» = False.
📝 Из справки: установка [pingingEnabled] (Проверка связи) в значение false не позволит IIS проверять, выполняется ли рабочий процесс, и таким образом сохранит его активным до остановки процесса отладки.
✅ Установка «Максимальное время отклика пинга» в большое значение позволит IIS продолжать наблюдение за рабочим процессом.
IV. Ошибка сервера в приложении '/AO_SSR'
Информационная база 1C опубликована на IIS. При работе через тонкий клиент, при нажатии на «Отчеты» вываливается ошибка.
« Ошибка сервера в приложении '/AO_SSR'. Обнаружено потенциально опасное значение Request.Path, полученное от клиента.
Описание: Необработанное исключение при выполнении текущего веб-запроса. Изучите трассировку стека для получения дополнительных сведений о данной ошибке и о вызвавшем ее фрагменте кода.
✅ Откройте настройки пула приложений и проверьте «Режим управляемого конвейера» = «Classic».
В версии 8.3.9 мы выполнили значительное количество задач по оптимизации разных механизмов платформы. Здесь хочется рассказать об одной из них. Это повышение производительности веб-сервисов.
Переиспользование сеансов
Недостаточная производительность веб-сервисов объяснялась тем, что каждый вызов веб-сервиса имел значительные накладные расходы на создание и завершение сеанса. Причём при создании каждый раз выполнялся обработчик УстановкаПараметровСеанса(), который в типовой конфигурации может быть довольно «тяжёлым».
Кроме этого существовал и функциональный недостаток. Веб-сервисы не обладали состоянием. Это не позволяло реализовывать логику, использующую сохранение состояния между вызовами веб-сервиса.
Этих результатов удалось достичь за счёт того, что мы реализовали две различные стратегии, обеспечивающие переиспользование сеансов:
При автоматическом переиспользовании сеансов клиент не имеет возможности влиять на количество сеансов и время их жизни. Ему просто автоматически выделяется сеанс из существующего пула сеансов. Такая стратегия подходит для высоконагруженных публичных сервисов, к которым обращаются клиенты, выполняющие шаблонные операции, и обладающие унифицированными привилегиями.
Например, это может быть автоматизация торговой деятельности удаленных торговых точек, предусматривающая периоды пиковой нагрузки на сервер. Для обработки будет выделено нужное количество сеансов. Они будут завершены по мере падения нагрузки.
Стратегия ручного управления сеансами подразумевает, что клиент самостоятельно управляет количеством сеансов и временем их жизни. Эта стратегия лучше подходит для высокоинтегрированных систем в рамках одной организации. Вы можете реализовать собственный алгоритм, который будет управлять временем жизни сеансов и их количеством.
Средства управления
- reuseSessions – аналог свойства ПовторноеИспользованиеСеансов, может принимать значения autouse, use и dontuse;
- sessionMaxAge - аналог свойства ВремяЖизниСеанса;
- poolTimeout - используется при автоматическом управлении сеансами, содержит время ожидания доступности сеанса;
- poolSize - используется при автоматическом управлении сеансами, содержит максимальное количество сеансов, которое может быть создано в пуле.
Например, файл default.vrd может выглядеть так:
Автоматическое переиспользование сеансов
Сеансы в пуле хранятся в разрезе типа сервиса, наименования сервиса, пользователя/пароля, значений разделителей и безопасного режима. Причём в пуле может быть несколько сеансов с одинаковыми значениями перечисленных реквизитов.
При вызове платформа проверяет, есть ли простаивающий сеанс с подходящим сочетанием этих реквизитов. Если такой сеанс есть, то он выделяется для обработки вызова. Если такого сеанса нет, то создается новый сеанс и выделяется для обработки.
Сеанс автоматически завершается по истечении периода бездействия (ВремяЖизниСеанса).
Если достигнуто максимальное количество сеансов (poolSize), то вызов ждет указное время (poolTimeout). Если за это время подходящий сеанс не освободился, то возвращается ошибка со статусом 406 Not Acceptable.
Настройки автоматического пула сеансов действуют в рамках публикации. Это значит, что если у вас есть несколько публикаций для одной и той же информационной базы, то при вызове действуют те параметры, которые указаны в публикации, к которой обращается текущий вызов. Таким образом, если в одной публикации для сервиса указан лимит в 3 сеанса, а в другой публикации 5, то общее количество сеансов, которое может быть создано для вашей информационной базы равняется сумме этих значений 8.
При выборе размера пула следует учитывать все разрезы, в которых хранятся сеансы в пуле. Мы рекомендуем устанавливать размер пула немного больше, чем количество возможных вариантов. Это позволит вам избежать ситуации, когда пул заполнен сеансами, и вызов с новой комбинацией разделителей/пользователей обработан быть не может.
Эта стратегия не подходит для сценариев, в которых нужно использовать сохранённое состояние сеанса на сервере. Потому что нет никакой гарантии, что при следующем вызове клиент будет подключен к тому же самому сеансу. Как мы говорили в начале, в пуле может быть несколько сеансов с одинаковыми значениями ключевых реквизитов.
Управление сеансами
После получения такого заголовка на сервере стартует сеанс информационной базы, происходит аутентификация, установка разделителей и вызывается обработчик УстановкаПараметровСеанса().
Для подключения ранее созданного сеанса, вам необходимо указать куки IBSession с идентификатором сеанса.
Эта стратегия позволяет вам реализовать сценарии, в которых используется состояние сеанса, сохранённое на сервере. Потому что вы имеете уникальный идентификатор сеанса. Единственное, о чём нужно помнить, что завершение сеанса может происходить не только по вашей «команде», но и автоматически. В том случае, когда превышен период бездействия сеанса (ВремяЖизниСеанса). Поэтому вы, как клиент сервиса, должны быть готовы к тому, что сеансовые данные могут быть сброшены, если сеанс завершен.
Веб-сервисы в расширениях
В дальнейшем мы будем рассматривать возможность поддержки этих свойств в расширениях.
21 апреля пользователи Сети начали сообщать о проблемах с работой всех сервисов 1С. Недоступны обновления, невозможно зайти в личный кабинет и на сервис ИТС, не работает ЭДО и 1С:отчётность. 25 числа необходимо подавать отчёт в налоговую, но его невозможно подготовить из-за сбоя.
В официальном Telegram-канале 1C:Франчайзи появилась информация, что доступ к сервисам пропал из-за DDoS-атаки на ресурсы 1С и часть сайтов компании.
По неподтверждённой информации, кроме 1C DDoS-атаке подверглись РАР и ФСС.
Информационная служба Хабра направила 1С запрос с просьбой дать официальный комментарий по ситуации. Как указали в компании:
«С 21 апреля происходят DDoS-атаки на различные сервисы для учёта и отчётности в организациях, в том числе на ресурсы 1С. Часть наших сайтов и сервисов была временно недоступна или работали медленно и неустойчиво. На данный момент восстановлено нормальное функционирование большинства интернет-ресурсов и сервисов 1С, включая 1С:ЭДО и 1С-Отчетность. DDoS-атаки продолжаются, технические специалисты 1С отслеживают ситуацию и принимают усилия для обеспечения нормального функционирования интернет-ресурсов и сервисов 1С. Угрозы для данных пользователей не наблюдается, они не пострадали и надёжно защищены».
Несмотря на заявление компании, пользователи Сети продолжают жаловаться на полное прекращение работы 1С. В частности, пользователь Хабра @nat_young рассказал, что со вчерашнего дня в работе сервисов практически ничего не изменилось.
Читайте также: