1С8:Публикация информационной базы 1С на веб-сервере — различия между версиями

Материал из КинтВики
Перейти к: навигация, поиск
(Публикация базы без авторизации)
(Публикация базы без авторизации)
Строка 37: Строка 37:
 
ib="Srvr="SERVER";Ref="BASE";Usr="LOGIN";Pwd="PASSWORD";enable="false";"
 
ib="Srvr="SERVER";Ref="BASE";Usr="LOGIN";Pwd="PASSWORD";enable="false";"
  
usr=Логин;pwd=Пароль. Где логин — это имя пользователя, с которым при работе с сервисом будет происходить авторизация, а пароль — пароль к этой учетной записи.
+
Usr=Логин;Pwd=Пароль. Где логин — это имя пользователя, с которым при работе с сервисом будет происходить авторизация, а пароль — пароль к этой учетной записи.
  
 
[[Файл:Authdisabled.png]]
 
[[Файл:Authdisabled.png]]

Версия 12:07, 30 декабря 2025

Публикация информационной базы 1С на веб-сервере нужна для того, чтобы:

  • работать с базой удаленно по интернету;
  • подключаться к базе, используя мобильные приложения.
Действия выполняются на сервере под правами администратора. Для работы по интернету необходимо, чтобы было настроено сетевое оборудование.

Порядок публикации ИБ

Порядок действий:

  1. Выполните установку веб-сервера IIS или Apache.
    • IIS работает быстрее, чем Apache. (https://forum.infostart.ru/forum9/topic222705/)
    • Apache. Рекомендуется к установке версия 2.4. Разрядность должна соответствовать разрядности клиентской платформы 1С.
  2. Запустите службу Apache на сервере и проверьте доступность: с компьютера, находящегося в одной сети с сервером, в адресной строке браузера введите адрес сервера или его имя. Должна загрузиться страница с текстом «It's work!».
  3. На сервере запустите публикуемую базу в режиме конфигуратора. Выберите пункт меню Администрирование — Публикация на веб-сервере.
  4. Заполните параметры:
    • Укажите имя публикации. Выберите каталог для сохранения данных публикации, по которому она будет доступна по сети.
    • Если снять галочку «Публиковать доступ для клиентских приложений», то к базе будет невозможно подключиться по веб-ссылке в обычном пользовательском режиме через браузер или платформу. Такой вариант публикации базы выбирают, если требуется опубликовать только HTTP-сервис, например, API.
  5. Закладку Web-сервисы оставьте без изменений. На закладке http-сервисы выберите необходимые сервисы и нажмите кнопку Опубликовать.
    ФАЙЛ РАСШИРЕНИЙ.png
    Включите галочку KintAPI (KintAPI.hs), если планируется подключение к этой базе по API (КУС).
  6. В адресной строке браузера наберите http://[адрес_сервера]/[имя_публикации].
Важно. В дальнейшем в настройке нужно использовать имя публикации точно такое, с каким она была опубликована — соблюдая регистр символов.

Если база успешно опубликована и веб-сервер запущен, появится окно ввода логина и пароля пользователя для входа в вашу базу. Пользователь должен быть добавлен в список пользователей информационной базы.

Публикация базы без авторизации

Отключение авторизации — только часть мероприятий по настройке публикации. Обычно требуется для обеспечения работы отдельных http-сервисов. Например, KintAPI или ЕГИСЗ. При отключении авторизации в обязательном порядке необходимо отключить публикацию доступа для клиентских приложений. Рекомендуем в настройках публикации оставить активным только публикуемый сервис.

Kintapipub.png

Так будут выглядеть настройки публикации для сервися KintAPI.

Когда база будет опубликована, в указанном для публикации каталоге будет создан файл default.vrd. Найдите в файле строку с параметром ib и отредактируйте его значение:

ib="Srvr="SERVER";Ref="BASE";Usr="LOGIN";Pwd="PASSWORD";enable="false";"

Usr=Логин;Pwd=Пароль. Где логин — это имя пользователя, с которым при работе с сервисом будет происходить авторизация, а пароль — пароль к этой учетной записи.

Authdisabled.png

При публикации базы без авторизации в интерфейсе «Администратор системы» программного комплекса «Кинт: Управление санаторием» не нужно указывать пользователя в настройках «Публикация базы». Это исключит передачу данных учетной записи (пользователь и пароль) в QR-код.

Возможные проблемы

  • Публикация базы на IIS не работает.
    • Решение: проверить разрядность wsisapi.dll (Модуль расширения веб-сервера 1С). Возможно в файле web.config публикации прописана ссылка на dll из другой разрядности. Должно соответствовать разрядность платформы. Попробовать добавить/убрать "(x86)"
Ошибка публикации путь к dll.png


  • После обновления платформы не работает расширение для обмена данными.
    • Решение: проверьте установлены ли права на использование HTTP-сервиса и назначена ли пользователю соответствующая роль.
Для этого:
1. В 1С:Конфигураторе откройте настройки расширения «Кинт: Обмен данными».
2. Раскройте ветку HTTP-сервиса «ОбменДанными_API».
3. Откройте дополнительные свойства для метода «GetData».
Конфигуратор HTTP-сервисы Дополнительно.png
4. Во вкладке «Права» установите флаг на право использования.
Конфигуратор HTTP-сервисы Дополнительно2.png
5. Повторите шаги 3 и 4 для метода «PostData».
6. В меню «Администрирование» откройте список пользователей.
7. Откройте настройки пользователя и на вкладке «Прочие» в списке доступных ролей установите флаг на роли «ОбменДанными_ОсновнаяРоль».
Конфигуратор Роль пользователя.png

Коды ошибок при работе с веб-сервером

1. 500 — ошибка доступа к веб-сервису.

Решение проблемы

Для исправления обычно достаточно переопубликовать информационную базу на веб-сервере. Подробнее посмотреть можно в логах веб-сервера error.log

Если у вас на сервере используется операционная система Astra Linux и в логе ошибок зафиксирована проблема Authentication not configured, то:
Для версии ОС 1.6, 1.7, 4.7, 8.1 Отключение авторизации можно задать в файле /etc/apache2/apache2.conf поменять строку #AstraMode on на AstraMode off.

Syntax error on line ХХХ of /etc/apache2/apache2.conf: API module structure '_1cws_module' in file /opt/1cv8/x86_64/8.3.24.1368/wsap22.so is garbled - expected signature 41503234 but saw 41503232 - perhaps this is not an Apache module DSO, or was compiled for a different Apache version? - в настройках публикации базы данных 1С указана версию Apache отличная от установленной. Необходимо перепубликовать базу данных на установленную версию веб-сервера.

Выбор вебсервера для публикации.png


2. Ошибка 404.0 — Not found при проверке подключения базы-источника.

В настройках обмена при проверке подключения базы-источника, опубликованной через интернет-публикацию, возникает Ошибка HTTP 404.0 — Not found. Разыскиваемый вами ресурс был удален, было изменено его имя или он временно недоступен. Ошибка указывает на недоступность опубликованной базы.

Решение проблемы

  1. В конфигураторе информационной базы откройте раздел АдминистрированиеПубликация на веб-сервере.
  2. На закладке Web-сервисы активируйте чек-бокс «Публиковать Web-сервисы расширений по умолчанию».
    Решение проблемы Ошибка 404 (1).png
  3. Убедитесь, что на закладке HTTP-сервисы активирован чек-бокс «Публиковать HTTP сервисы расширений по умолчанию».
    Решение проблемы Ошибка 404 (2).png
  4. Опубликуйте информационную базу и проверьте подключение в настройках базы-источника.

Как опубликовать одну базу 1с на веб-сервисе несколько раз

При публикации отдельных web или http-сервисов может потребоваться отключение авторизации и доступа клиентских приложений. Если при этом необходимо обеспечить работу с публикацией базы 1С через тонкий или web-клиент, требуется создать отдельную публикацию. Для этого:

  • Запустите «1С:Предприятие».
  • Добавьте информационную базу в список ещё раз, указав другое наименование.
  • Запустите базу в режиме Конфигуратора.
  • Выберите пункт меню Администрирование — Публикация на веб-сервере.
  • Укажите имя публикации (не должно повторять имя первой публикации).
  • Укажите каталог публикации (необходимо создать отдельный каталог для этой публикации).
  • Завершите публикацию, нажав кнопку Опубликовать.

См. также