Преамбула - в силу специфики организации пришлось создать несколько однотипных, не связанных между собой баз на разных серверах с одинаковой обновляемой конфигурацией, что было решено реализовать подключением к единому хранилищу по протоколу HTTPS
Фабула
Общеизвестные и много где описанные шаги тезисно:
1. Из конфигуратора на выбранном сервере создаём хранилище конфигурации, создаём пользователя Windows, даём ему необходимые (все) разрешения на каталог хранилища
2. создаём сервер "crserver.exe -instsrvc -d [каталог хранилища] -usr [пользователь Windows] -pwd [пароль]" и пробуем подключиться к нему из 1С по адресу
tcp://[имя или IP сервера]/[подкаталог если есть].
Утилита crserver лежит в каталоге x86: "C:\Program files\1cv8\[номер версии конфигурации]\bin\"
x64: "C:\Program files\1cv8 (x86)\[номер версии конфигурации]\bin\"
3. устанавливаем IIS
4. в корневом каталоге (по умолчанию C:\inetpub\wwwroot) создаём подкаталог (например REPO) и в нем создаём текстовый файл (например REPO.cr) следующего содержания
<?xml version="1.0" encoding="UTF-8"?>
<repository connectString="tcp://[имя сервера хранилища]"/>
5.Заходим в IIS Manager находим созданный каталог и конвертируем его в приложение (правой кнопкой Convert to application) заходим в него и добавляем обработчик 1С в Handler mappings (правая кнопка - add script map. Path = *; Executable = "C:\Program Files\1cv8\[номер версии конфигурации]\bin\wsisapi.dll";name = "1C Web-service Extension"). Если сервер x64 а 1с используете x86 то соответственно изменится путь к dll и в advanced settings вашего application pool надо поставить разрешение использовать 32 битные приложения
6. проверяем что хранилище доступно по адресу http://[имя веб сервера]/REPO/REPO.cr/[Имя подкаталога с хранилищем если есть]
7. далее если при подключении через https появляется ошибка про узел не прошедший проверку необходимо выполнить следующие шаги:
- Импортировать сертификат сервера в локальный компьютер - доверенные центры сертификации (local computer - central root certificate authoriities)
далее если система "не знает" центр сертификации выдавший этот сертификат, необходимо так же:
- импортировать сертификат удостоверяющего центра в хранилище сертификатов локального компьютера - доверенные центры сертификации
- конвертировать сертификат удостоверяющего центра в формат PEM с помощью утилит OpenSSL (для виндоуз брать например там http://slproweb.com/download/Win64OpenSSL_Light-1_1_0h.exe)
для конвертации можно написать скрипт следующего содержания (прилагается)
C:\OpenSSL\bin\openssl x509 -inform der -in %1.cer -text -outform PEM -out tmp_%1.pem
C:\OpenSSL\bin\openssl x509 -in tmp_%1.pem -noout -fingerprint -md5 > %1.pem
Type tmp_%1.pem >> %1.pem
del tmp_%1.pem
Далее содержимое PEM файла добавляем к файлу
C:\Program Files\1cv8\[Номер версии конфигурации]\bin\cacert.pem
C:\Program Files (x86)\1cv8\[Номер версии конфигурации]\bin\cacert.pem
И если всё правильно хранилище будет доступно извне по протоколу https
ps. так же крайне необходимо следить чтобы имя сервера IIS которое используется для подключения к хранилища точно совпадало с именем на которое выдан сертификат (в случае расхождений самый простой вариант - внести правки в файл hosts (C:\Windows\System32\drivers\etc\hosts) чтобы IP IIS соответствовало имя из сертификата.