При работе с базами данных 1С через веб-сервер (в частности, под управлением Microsoft IIS) часто возникает ситуация, когда на сервере устанавливается новое обновление платформы, но удаленные пользователи, подключающиеся через веб-клиент или тонкий клиент, продолжают запускаться под старой версией платформы. Попытки жестко прописать версию запуска в настройках подключения на клиентских компьютерах в этом случае не помогают, так как веб-сервер продолжает транслировать работу базы через старую библиотеку расширения wsisapi.dll.
В этой статье мы подробно разберем, как правильно обновить платформу 1С на веб-сервере IIS, рассмотрим автоматический способ перепубликации, ручной метод изменения конфигурационных файлов, а также важные нюансы настройки прав доступа, разрядности пулов приложений и организации автоматического обновления тонкого клиента у пользователей.
Один из самых частых вопросов администраторов — нужно ли полностью удалять старую публикацию перед тем, как применить новую версию платформы? Снимать базу с публикации перед обновлением не нужно. Процедура перехода на новую платформу спроектирована таким образом, что веб-сервер автоматически подхватывает новые пути. Достаточно сразу открыть Конфигуратор под новой версией платформы и запустить процесс перезаписи параметров публикации. Для массового управления и быстрого переопубликования множества баз можно воспользоваться инструментом для автоматизации веб-публикаций 1С.
Этот способ является наиболее простым, быстрым и рекомендуемым для большинства стандартных конфигураций. Разберем его по шагам:
8.3.15.1830 вместо старой 8.3.14.1694).Иногда веб-сервер IIS бывает тонко настроен под специфические нужды безопасности компании (настроены нестандартные пулы приложений, определенные виды авторизации пользователей, ограничения IP-адресов или SSL-сертификаты). При автоматической публикации из Конфигуратора существует риск того, что 1С перезапишет конфигурационные файлы «по умолчанию», сбросив ваши уникальные настройки веб-сервера.
Чтобы избежать этого, мы можем обновить пути к новой платформе вручную через консоль управления IIS:
C:\Program Files\1cv8\8.3.15.1830\bin\wsisapi.dll. Обязательно установите галочку «Разрешить выполнение пути расширения».1C Web-service Extension или просто 1C-application). Дважды кликните по нему и измените путь в поле «Исполняемый файл», указав путь к новой библиотеке wsisapi.dll из папки новой платформы.C:\inetpub\wwwroot\MyBase). Откройте файл web.config в текстовом редакторе (например, Notepad++) от имени администратора. Найдите секцию <handlers> и замените старый путь к библиотеке на новый:
<configuration>
<system.webServer>
<handlers>
<add name="1C-application" path="*" verb="*" modules="IsapiModule" scriptProcessor="C:\Program Files\1cv8\8.3.15.1830\bin\wsisapi.dll" resourceType="Unspecified" requireAccess="Script" />
</handlers>
</system.webServer>
</configuration>
Сохраните изменения в файле web.config.
Независимо от того, использовали ли вы автоматическую публикацию из Конфигуратора или ручную правку путей, изменения не вступят в силу мгновенно. Веб-сервер IIS кэширует загруженные динамические библиотеки в оперативной памяти процессов. Чтобы сервер начал использовать новую версию wsisapi.dll, необходимо принудительно перезапустить службу IIS.
Для этого откройте командную строку от имени администратора и выполните простую команду:
iisreset
После успешного выполнения команды служба IIS полностью перезагрузится, освободит старые библиотеки из памяти и инициализирует работу с новой версией платформы 1С.
Переход на новую версию платформы часто сопровождается типичными ошибками администрирования. Рассмотрим наиболее частые проблемы и способы их устранения.
Очень часто при перепубликации базы администраторы сталкиваются с «Ошибкой HTTP 500.0 - Internal Server Error» или «Ошибка 500.19». Одной из основных причин является несоответствие разрядности установленной платформы 1С и настроек пула приложений IIS.
Например, старая платформа 8.3.14.1694 была 32-разрядной (установлена в Program Files (x86)), а новую версию 8.3.15.1830 вы установили как 64-разрядную (в папку Program Files).
Проанализируем настройки пула в IIS:
Если после обновления базы веб-страница выдает ошибку доступа, проверьте права на системные папки. При установке новой версии платформы создается новый каталог (например, C:\Program Files\1cv8\8.3.15.1830\bin), к которому у служебных учетных записей веб-сервера может не быть доступа.
Для решения этой проблемы:
bin (или bin64) новой установленной платформы 1С на диске сервера.IIS_IUSRS (или конкретный пользователь, под которым запущен пул приложений, например, IUSR или NetworkService) имеет права на «Чтение» и «Чтение и выполнение» (Read & Execute) для этой папки и всех ее файлов. Без этого IIS не сможет запустить библиотеку wsisapi.dll.Если ваши бухгалтеры работают с опубликованной на IIS базой не через браузер, а через локально установленный Тонкий клиент 1С, то после обновления платформы на сервере их локальные тонкие клиенты потребуют обновления до аналогичной версии (в нашем примере до 8.3.15.1830). Чтобы не производить установку вручную на каждом компьютере, настроим автообновление силами самого IIS:
setuptc.zip).distrib внутри каталога публикации IIS)..zip со значением application/zip, чтобы сервер разрешал скачивание архива.conf.cfg на сервере.После выполнения этих шагов при первом запуске базы у удаленного бухгалтера Тонкий клиент обнаружит несоответствие версий, автоматически скачает архив обновления с вашего веб-сервера IIS, установит его в фоновом режиме и продолжит работу под новой версией платформы без привлечения системного администратора. Для организации подключения пользователей через тонкий клиент к опубликованным базам также подойдёт лаунчер 1С с поддержкой веб-публикаций и доменной авторизации.