Раннее я уже писал об установке сервера хранилища конфигураций в системе «1С:Предприятия» 8. В данной статье рассмотрим процесс публикации сервера хранилища конфигураций на веб-сервере IIS для возможности доступа к хранилищам, обслуживаемым сервером, по протоколу http (или https).
0. Оглавление
- Установка сервера хранилища конфигураций «1С:Предприятия» 8
- Установка веб-сервера IIS
- Установка модулей расширения веб-сервера «1С:Предприятия» 8
- Настройка доступа к модулям расширения веб-сервера «1С:Предприятия» 8
- Создание конфигурационного файла
- Настройка приложения в IIS
- Подключение к хранилищу
1. Установка сервера хранилища конфигураций «1С:Предприятия» 8
Прежде всего, необходимо установить сам сервер хранилища конфигураций, так как публикация осуществляется непосредственно для сервера и уже с помощью него происходит взаимодействие с хранилищем. Подробно об этом читайте в статье:
2. Установка веб-сервера IIS
Далее необходимо активировать входящий в состав Windows веб-сервер IIS, если этого не было сделано раннее. Веб-сервер и сервер хранилища конфигураций могут располагаться как на одной машине, так и на различных компьютерах в одной локальной сети. При установке обязательно необходимо выбрать компоненты:
- Общие функции HTTP (Common HTTP Features)
- Статическое содержимое (Static Content)
- Документ по умолчанию (Default Document)
- Обзор каталогов (Directory Browsing)
- Ошибки HTTP (HTTP Errors)
- Разработка приложений (Application Development)
- ASP
- ASP.NET 3.5
- Расширяемость .NET 3.5 (.NET Extensibility 3.5)
- Расширения ISAPI (ISAPI Extensions)
- Фильтры ISAPI (ISAPI Filters)
- Исправление и диагностика (Health and Diagnostics)
- Ведение журнала HTTP (HTTP Logging)
- Монитор запросов (Request Monitor)
- Средства управления (Management Tools)
- Консоль управления IIS (IIS Management Console)
Подробно про установку веб-сервера IIS в различных операционных системах семейства Windows можно прочитать в статьях:
- Установка веб-сервера IIS 8 в Windows Server 2012 (R2)
- Установка веб-сервера IIS 7 в Windows Server 2008 (R2)
- Установка веб-сервера IIS 8 в Windows 8/8.1
После установки веб-сервера, на компьютере с запущенным сервером IIS в браузере по адресу http://localhost должна появиться стартовая страница (Default Web Site) веб-сервера соответствующей версии.
3. Установка модулей расширения веб-сервера «1С:Предприятия» 8
На том же компьютере, где запущен веб-сервер IIS необходимо выполнить установку модулей расширения веб-сервера «1С:Предприятия» 8 версии, аналогичной версии сервера хранилища конфигураций. Кроме того, на момент написания статьи сервер хранилища конфигураций мог быть только 32-разрядным приложением, поэтому и модули расширения веб-сервера необходимо устанавливать с 32-разрядного дистрибутива системы «1С:Предприятия» 8.
Подробнее про установку компонент программы 1С:Предприятие 8 можно прочитать в статье:
4. Настройка доступа к модулям расширения веб-сервера «1С:Предприятия» 8
Для того, что бы веб-сервер IIS смог работать с установленным на предыдущем шаге модулем расширения веб-сервера «1С:Предприятия» 8, необходимо дать полные права на каталог с данными компонентами (по умолчанию C:\Program Files (x86)\1cv8\ для «1С:Предприятия» 8.3 и C:\Program Files (x86)\1cv82\ для «1С:Предприятия» 8.2) группе IIS_IUSRS.
Для этого кликаем правой кнопкой мыши по необходимому каталогу и выбираем «Свойства» (Properties) в контекстном меню.
В окне свойств переходим на вкладку «Безопасность» (Security) и нажимаем кнопку «Изменить» (Edit…), для изменения действующих разрешений. Появится окно разрешений для данного каталога. В нем нажимаем расположенную под списком «Группы или пользователи» (Groups or user names) кнопку «Добавить» (Add..), а в окне выбора групп или пользователей нажимаем «Дополнительно» (Advanced…).
Затем нажимаем расположенную справа кнопку «Поиск» (Find Now), после чего выбираем необходимую группу IIS_IUSRS в таблице результатов поиска и нажимаем «ОК».
Группа IIS_IUSRS появится в списке групп или пользователей. Даем ей полные права на на выбранную директорию и нажимаем «Применить» (Apply) для сохранения изменений.
5. Создание конфигурационного файла
Далее переходим непосредственно к публикации установленного до этого сервера хранилищ конфигураций на поднятый раннее веб-сервер IIS. Начнем с того, что в каталоге хранения сайта Default Web Site веб-сервера (по умолчанию C:\inetpub\wwwroot) создадим каталог с именем будущей публикации, пусть это будет каталог с именем repository.
А затем в данном каталоге создадим файл с расширением .1ccr (пусть, по аналогии с каталогом, это будет файл с именем repository.1ccr) и с содержанием:
<?xml version="1.0" encoding="UTF-8"?> <storage connectString="tcp://<ИмяСервераХранища>"/>
Где <ИмяСервераХранилища> сетевое имя или IP-адрес компьютера на котором запущен сервер хранилища конфигураций.
6. Настройка приложения в IIS
Теперь, если запустить диспетчер служб IIS (Internet Information Services (IIS) Manager) и раскрыть вкладки «Сайты» (Sites) — «Default Web Site» увидим каталог, который мы создавали на предыдущем шаге. Преобразуем данный виртуальный каталог в приложение. Для этого кликнем по нему правой кнопкой мыши и в контекстном меню выберем пункт «Преобразовать в приложение» (Convert to Application).
После чего, необходимо создать обработчик для данного виртуального приложения. Для этого следует выделить приложение в дереве подключений и в окне свойств выбрать пункт «Сопоставление обработчиков» (Handler Mappings).
В открывшемся окне сопоставления обработчиков в меню «Действия» (Actions) справа выбираем пункт «Добавление сопоставления сценария с подстановочными знаками» (Add Wildcard Script Map…).
Откроется окно добавления нового обработчика. В нем указываем путь к модулю расширения веб-сервера «1С:Предприятия», а конкретно к библиотеке wsisapi.dll, которая хранится в каталоге bin, директории, указанной при установки компонент системы «1С:Предприятия» в пункте 3 данной инструкции. Также задаем имя обработчика и нажимаем «ОК».
Добавляем данное расширение ISAPI как разрешенное в список ограничений ISAPI и CGL, нажав «Да» (Yes) в появившемся окне.
После чего, только что добавленный обработчик должен появиться в списке сопоставления обработчиков нашего виртуального приложения. Осталось только добавить разрешение на выполнение данного обработчика. Для этого кликаем по нему правой кнопкой мыши и в контекстном меню выбираем «Изменение разрешений функции…» (Edit Feature Permissions…).
В открывшемся окне разрешений устанавливаем флаг в поле «Выполнение» (Execute) и нажимаем «ОК».
Как я уже писал раннее, сервер хранилища конфигураций это 32-разрядное приложение. Соответственно, необходимо разрешить пулу приложений, который обслуживает данный виртуальный каталог работу с 32-разрядными приложениями. Чтобы просмотреть, какой пул обслуживает конкретный виртуальный каталог, необходимо в дереве подключений кликнуть по нему правой кнопкой мыши, в контекстном меню выбрать «Управление приложением» (Manage Application) — «Дополнительные параметры» (Advanced Settings…).
В появившемся окне параметр «Пул приложений» (Application Pool) и определяет пул приложений, который обслуживает данный виртуальный каталог, в данном случае это DefaultAppPool. В этом же окне можно и изменить, в случае необходимости, данное значение параметра.
Для того, чтобы настроить пул приложений для работы с 32-разрядными приложениями, необходимо отыскать его в окне пулов приложений, доступном на вкладке «Пулы приложений» (Application Pools) в дереве подключений, кликнуть по нему правой кнопкой мыши и в контекстном меню выбрать «Дополнительные параметры…» (Advanced Settings).
В появившемся окне дополнительных параметров пула приложений изменяем параметр «Разрешены 32-разрядные приложения» (Enable 32-Bit Applications) в значение True.
Необходимо помнить (!), что при этом пул перестанет корректно обрабатывать 64-разрядные приложения. Поэтому, если у вас на веб-сервере есть 64-разрядные приложения, например, опубликованные информационные базы системы «1С:Предприятие» обслуживаемые 64-разрядным модулем расширения веб-сервера, следует создать отдельный пул приложений, разрешить на нем 32-разрядные приложения и установить в качестве пула для текущего виртуального каталога.
Установив необходимые параметры жмем «ОК».
7. Подключение к хранилищу
Ну вот, все компоненты системы «1С:Предприятие» установлены, настройки веб-сервера IIS выполнены и можно переходить непосредственно к работе с хранилищем, обслуживаемым сервером хранилища конфигураций по протоколу http. Для создания хранилища (о создании хранилища можно прочитать в статье «Создание хранилища конфигурации в системе «1С:Предприятия» 8») и подключения информационных баз к хранилищу необходимо использовать адрес вида:
http://<ИмяВебСервера>/<ИмяПриложения>/<Файл .1ccr>/<ИмяХранилища>
Например, для параметров, используемых в данной статье имя может быть таким:
http://WIN2012R2/repository/repository.1ccr/Accounting
таким:
http://localhost/repository/repository.1ccr/Accounting
или даже таким:
https://tavalik.ru/repository/repository.1ccr/Accounting
А примиренства http перед tcp есть при использовании сервера хранилища конфигураций?
по хттп что то не могу подключиться удаленно, не знаю почему, а вот по тисипи удачно подключаюсь через интернет к серверу хранилища поэтому возник вопрос, стоит ли пробовать настроить еще и хттп доступ
Добрый день!
Спасибо за статью, всё получилось по этой инструкции. Только вот после обновления платформы 1С начинаются небольшие бубны. Просьба описать правильный процесс изменений в настройках IIS после обновления платформы 1С.
Инструкция — просто супер! Как и все остальные, которыми пользовался на этом сайте. Ни разу не видел настолько понятных и подробных инструкций в Интернете.
Спасибо Вам, Виталий!
И вам большое спасибо за комментарий.
Статья помогла настроить всю кухню — за это большое спасибо!
Но столкнулся с проблемой, которая не описана здесь:
У меня при попытке поместить в хранилище объект, размером > 20Mb возникает ошибка:
«Неклассифицированная ошибка работы с хранилищем конфигурации. по причине: Ошибка сервера 404 — файл или каталог не найден. Запрашиваемый ресурс перемещен, переименован либо временно недоступен.»
Воспроизводится как для одного объекта, так и если идет попытка поместить несколько, с суммарным размером больше 20Mb.
Я так понимаю, что в iis есть настройки ограничений на размер аплода, но найти их никак не могу.
Здравствуйте.
Мне с подобной проблемой сталкиваться пока не приходилось. Действительно, скорее всего у вас на IIS стоит ограничение на размер передаваемого файла. Поделитесь решением, если удастся обойти данное ограничение.
Фильтрация запросов — Правила — Изменить параметры — Максим. допустимая длина содержимого
Помогло!
Круто, помогло! Спасибо!
Добрый день!
Настроил всё по инструкции. При попытке подключения по http выдаёт ошибку 405.0 metjod not allowed logon.
Подскажите пожалуйста, куда копать?
Здравствуйте.
А по tcp подключается успешно?
Добрый день,
у меня такая же ситуация по tcp подключается без проблем, а вот c http ошибка 405.0 делал все по инструкции. связанно ли это как-то с версией платформы? раньше работал на(x86) теперь решил поставить (x64) и больше не смог законектиться по http.
Заранее благодарю.
Здравствуйте. Посмотрите внимательно на эту статью: http://tavalik.ru/nastrojka-veb-dostupa-k-bd-1spredpriyatie-na-iis/
Там описываются различия в публикации 32-х и 64-х разрядных приложений на веб-сервере IIS. Попробуйте сначала опубликовать базу 1С на веб-сервере. После того, как успешно заработает информационная база в вебе, аналогичным образом опубликуйте хранилище.
Спасибо большое помогло.
ДОбрый день
Установил два сервера win 2012,
На первом: AD+CS ; второй включен в этот домен и на нём iis8+1c8.3server
Зарегистрировал домен, а-зоной пробросил его до своего IP адреса, за которым стоит сервер.
dst-nat пробросил 80 и 443 порты до IISа, на IIS в брендмауре открыл 80 и 443
на IIS подключил сайт #ИмяДомена.ru
На IIS создал Сертификат домена и по нему привязал 443 порт к домену.
Опубликовал базу «Client» в 1с 8.3 на сервере IIS в каталоге c:\site\1c , в котором опубликован сайт c:\site
Если у опубликованной 1с «Client» с настройками SSL игнорировать, извне подключиться по https://ИмяДомена.ru/Client то всё нормально, 1с откроется.
Если у опубликованной 1с «Client» с настройками SSL — Требовать SSL/Требовать, извне подключиться по https://ИмяДомена.ru/Client то выдаёт ошибку: 403 — запрещено. Доступ запрещен.
Как создать сертификат, который нужно установить на клиенте, что бы работал авторизация по SSL?
Самый простой путь — создать серверный самоподписанный сертификат и его содержимое (сертификата) в конец файла «C:\Program Files (x86)\1cv8\8.3.X.XXXX\bin\cacert.pem» дописать.
Здравствуйте
На 6-м шаге в списке есть только «Начальная» страница.
Это означает, что ошибка где-то на предыдущих шагах или просто надо выбрать «Подключиться к серверу…».
Заранее извиняюсь за некомпетентность в данном вопросе.
Здравствуйте! Большое спасибо за инструкцию, все получилось! Только есть проблема, если служба хранилища настроена на порт отличный от стандартного (например прописано -port 1458). Тогда при подключении к хранилищу вылетает ошибка 502. Не сталкивались с таким?
Здравствуйте!
Спасибо за инструкцию.
На данный момент пытаюсь настроить удаленное хранилище через протокол https.
На клиентской машине, при подключении к хранилищу, выходит сообщение «Удаленный узел не прошел проверку».
Скорее всего проблема с сертификатами, немного запутался в них. Файл .pem сгенерировал, содержимое копировал в файл ..bin\cacert.pem, но результата не дало.
Подскажите, что не так ? Где-то читал что имена сервера IIS должны совпадать с именем кем выдан сертификат, не совсем понял и этот момент, но может в этом причина ?
Добрый день!
Инструкция отличная, спасибо.
А ошибка cледующего плана у вас не возникала?
Неклассифицированная ошибка работы с хранилищем конфигурации.
по причине:
Невосстановимая ошибка
Ошибка при выполнении запроса POST к ресурсу :
по причине:
Ошибка HTTP при обращении к серверу: http://ххх.ххх.хх.хх:1742
Unsupported protocol
Хранилище развернуто на этом порту, по tcp все функционирует.
Http пока не удается запустить. Вроде бы все сделано скрупулезно по инструкции.
Добрый день. Странно, я с такой ошибкой не сталкивался. Может у вас запрещен http на веб-сервере или маршрутизаторе? Default Web Site работает по данной ссылке?
С этим все в порядке, веб-сайт по умолчанию работает.
В танцев и шаманских плясок помогло что-то из следующего:
— уменьшил имя (как приложения, так и файла 1ccr) до 6 символов, убрал из имени символ подчеркивания
— добавил права на каталог ещё для пользователя IUSR
После заработало.
Спасибо, что поделились.
Добрый день.
Возможно ли опубликовать на вебсервере 2 хранилища конфигураций разнесенные по разным портам? У меня почему то ломится только по стандпртному
Да, теоретически возможно. Но я бы не по портам разносил, а по имени сайта. Для каждого сайта сделал свой файл repository.1ccr. С портами то же: вам на веб-сервере необходимо добиться, чтобы для каждого порта было направление в свой каталог с конфигурационным файлом repository.1ccr.
Привет, после установки Repository server и подключение через https: возникает ошибка :
«Unknown error working with the configuration repository.
, reason:
HTTP: Internal server error
Error working with resource
»
В чем может бьiть причина ?