Подключение к хранилищу конфигурации через HTTPS

15.08.18

Интеграция - WEB-интеграция

В публикации пошагово описывается публикация хранилища на веб сервере и подключение к ней, используя протокол HTTPS и SSL сертификаты.

Пакетные файлы

ВНИМАНИЕ: Файлы из Базы знаний - это исходный код разработки. Это примеры решения задач, шаблоны, заготовки, "строительные материалы" для учетной системы. Файлы ориентированы на специалистов 1С, которые могут разобраться в коде и оптимизировать программу для запуска в базе данных. Гарантии работоспособности нет. Возврата нет. Технической поддержки нет.

Наименование По подписке [?] Купить один файл
пакетный файл для конвертации сертификата crt - pem
.bat 0,20Kb ver:0.9
3
3 Скачать (1 SM) Купить за 1 850 руб.

Преамбула - в силу специфики организации пришлось создать несколько однотипных, не связанных между собой баз на разных серверах с одинаковой обновляемой конфигурацией, что было решено реализовать подключением к единому хранилищу по протоколу 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 соответствовало имя из сертификата.

хранилище конфигурации публикация WEB HTTPS

См. также

WEB-интеграция Администрирование веб-серверов Платные (руб)

Веб-портал обеспечивает удобный доступ к конфигурации 1С:ITIL, 1С:ITILIUM, Управление IT-отделом 8 через интернет с любого устройства посредством браузера, увеличивая эффективность работы пользователей и снижая нагрузку на сервер. Быстрая инсталляция портала за пару часов, удобный и интуитивно понятный интерфейс и безопасность данных помогут упростить работу с порталом и ускорить выполнение бизнес-процессов компании.

128000 руб.

19.12.2023    2582    3    0    

10

WEB-интеграция Анализ продаж Системный администратор Программист Пользователь Платформа 1С v8.3 1С:ERP Управление предприятием 2 1С:Управление торговлей 11 1С:Комплексная автоматизация 2.х Управленческий учет Платные (руб)

Модуль "Подсистема интеграции AmoCRM с 1С" позволяет обеспечить единое информационное пространство, в котором пользователи могут эффективно управлять клиентской базой, следить за статусами сделок и поддерживать актуальность данных как в AmoCRM, так и в 1С.

60000 руб.

07.05.2019    34642    68    45    

27

Оптовая торговля Розничная торговля WEB-интеграция 1С:Управление торговлей 10 1С:Управление производственным предприятием 1С:Управление нашей фирмой 1.6 1С:Управление торговлей 11 1С:Комплексная автоматизация 2.х 1С:Управление нашей фирмой 3.0 Платные (руб)

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

57600 руб.

26.11.2024    2356    2    2    

4

Сайты и интернет-магазины WEB-интеграция Системный администратор Программист Пользователь Платформа 1С v8.3 1C:Бухгалтерия 1С:Управление торговлей 11 Автомобили, автосервисы Россия Управленческий учет Платные (руб)

Интеграционный модуль обмена между конфигурацией Альфа Авто 5 и Альфа Авто 6 и порталом AUTOCRM. Данный модуль универсален. Позволяет работать с несколькими обменами AUTOCRM разных брендов в одной информационной базе в ручном и автоматическом режиме.

36000 руб.

03.08.2020    19058    21    22    

19

WEB-интеграция Программист Платформа 1С v8.3 Бухгалтерский учет 1С:Бухгалтерия 3.0 Бытовые услуги, сервис Платные (руб)

Внешняя обработка разрабатывалась для загрузки документов из Ветменеджер в 1С: Бухгалтерия 3.0

12000 руб.

02.02.2021    18832    54    50    

30

WEB-интеграция Программист Бизнес-аналитик Платформа 1С v8.3 1С:ERP Управление предприятием 2 1С:Бухгалтерия 3.0 1С:Управление торговлей 11 1С:Комплексная автоматизация 2.х 1С:Управление нашей фирмой 3.0 1С:Розница 3.0 Оптовая торговля, дистрибуция, логистика ИТ-компания Платные (руб)

Модуль "Экспортер" — это расширение для 1С, предназначенное для автоматизации процессов выгрузки данных. Оно позволяет эффективно извлекать, преобразовывать и передавать данные из систем 1С в интеграционную платформу Spot2D. Подсистема упрощает настройку, снижает количество ручных операций и обеспечивает удобный контроль данных.

14400 руб.

20.12.2024    833    4    1    

5

WEB-интеграция Программист Руководитель проекта Платформа 1С v8.3 1C:Бухгалтерия 1С:Франчайзи, автоматизация бизнеса Платные (руб)

Расширение значительно упрощает написание API на 1С. Веб программисты получают простой и понятный доступ к 1С. Описание API создаётся автоматически и представляется в виде удобном как для человека, так и для программной обработки.

24000 руб.

27.09.2024    4033    3    2    

4

Обмен с ГосИС WEB-интеграция Бухгалтер Пользователь Платформа 1С v8.3 Управляемые формы 1С:Комплексная автоматизация 1.х 1С:Бухгалтерия 2.0 1С:Управление торговлей 10 1С:Управление производственным предприятием 1С:Управление нашей фирмой 1.6 1С:Бухгалтерия государственного учреждения 1С:Документооборот 1С:ERP Управление предприятием 2 1С:Бухгалтерия 3.0 1С:Управление торговлей 11 1С:Комплексная автоматизация 2.х Платные (руб)

Обработка является альтернативой механизму, разработанному фирмой 1С и заполняющему реквизиты контрагента по ИНН или наименованию. Не требуется действующей подписки ИТС. Вызывается как внешняя дополнительная обработка, т.е. используется, непосредственно, из карточки контрагента. Заполнение по ИНН или наименованию реквизитов контрагента по данным сайта ФНС (egrul.nalog.ru) для БП 2.0, БП 3.0, БГУ 1.0, БГУ 2.0, УТ 10.3, УТ 11.x, КА 1.1, КА 2.x, УПП 1.x, ERP 2.x, УНФ 1.5, УНФ 1.6, УНФ 3.0, ДО 2.1

2400 руб.

28.04.2016    93005    190    217    

343
Комментарии
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
1. biformatus 16.08.18 01:41 Сейчас в теме
А есть способ сделать нормальный адрес, например субдомен.домен.ком/имя подкаталога хранилища?
2. ktb 635 16.08.18 07:29 Сейчас в теме
(1)Если адрес доступен "снаружи", то получаете и привязываете к нему dns-имя любым доступным способом. Если не нравится часть адреса "repo/repo.cr", то nginx поможет.
3. KonS 77 16.08.18 09:33 Сейчас в теме
(1) согласен с (2) - это если только средствами веб-сервера.
4. premierex 206 22.08.18 08:38 Сейчас в теме
Познавательно. Давно работаю с хранилищем конфигурации, а вот с сервером хранилища пока ещё не сталкивался. Добавлю себе в закладки.
5. KonS 77 22.08.18 09:30 Сейчас в теме
(4)в общем случае можно ограничиться первыми двумя шагами. дальше если есть необходимость дать доступ по слабому и/или защищенному каналу
6. premierex 206 22.08.18 09:47 Сейчас в теме
Было бы неплохо ещё и описать работу, например, с Apache (далеко не все используют IIS). Ещё познавательней было бы.
7. KonS 77 22.08.18 10:01 Сейчас в теме
(6)публикации на инфостарте по теме есть и достаточно подробные *например https://infostart.ru/public/646384/ поэтому смысла плодить не вижу. я свои заметки писал, потому как пришлось много источников перелопатить именно по теме https и сертификатов
8. premierex 206 22.08.18 10:03 Сейчас в теме
(7) Спасибо за ссылку. Поизучаю.
9. kernelio 4 15.01.19 10:56 Сейчас в теме
Уточните по расширению файла в каталоге веб-приложения? На ИТС пишут "1ccr" в статье вы указали - "cr". Или это не имеет значения?
10. KonS 77 16.01.19 11:27 Сейчас в теме
(9)Это влияет на то что вы будете писать в адресной строке. напишете 1ccr и в адресе будете соответственно указывать 1ccr. когда публикуете на веб сервере вы указываете обработчик wsisapi.dll из поставки 1с и говорите какие файлы им обрабатывать (правая кнопка - add script map. Path = *; Executable = "C:\Program Files\1cv8\[номер версии конфигурации]\bin\wsisapi.dll";name = "1C Web-service Extension") в строчке path стоит * соответственно все файлы будут им обрабатываться, а для него уже важно именно содержимое а не расширение.
11. user634962_ismdmr 18.06.19 15:26 Сейчас в теме
Добрый день.

Дошел до 7-го пункта, вышло сообщение "Удаленный узел не прошел проверку".

Далее по рекомендациям решения данной проблемы, немного не понятно.

"- Импортировать сертификат сервера в локальный компьютер - доверенные центры сертификации (local computer - central root certificate authoriities)" - это имеется ввиду сертификат IIS экспортировать и далее импортировать в локальный компьютер ?

В IIS ранее настраивал связку https куда указал сгенерированный сертификат. Этого не нужно делать ?

Если есть, дайте пожалуйста ссылку где можно прочитать предысторию вашей инструкции. Желательно с момента генерации ключей :)

Спасибо.
12. KonS 77 19.06.19 17:05 Сейчас в теме
(11)Здравствуйте. В данном случае "Сертификат" это открытый сертификат который выдает узел при подключении по https (см картинку) ссылки на источники не сохранил, можете попробовать поискать по приведенным командам для конвертации
Прикрепленные файлы:
13. DamirI 19.06.19 18:06 Сейчас в теме
(12)
Спасибо за отклик.

К сожалению, ошибка подключения до сих пор присутствует. Версия платформы 8.3.12.1529.

Через браузер локального компьютера, стартовая страница IIS отображается, правда сертификат от COMODO. На самом же сервере, где установлен IIS, в браузере страница открывается под сертификатом что я ранее сам генерировал.

Экспортировал сертификат из IE, и преобразовал в файл *.pem. Все содержимое, вместе с md5 скопировал/вставил в файл "cacert.pem".

В итоге, ничего не помогло.

Может дело в именовании сервера и сертификата, о том что Вы говорили в конце поста ? Правда, не совсем ясно, о каких именах идет речь, что с чем должно совпадать :)

Спасибо.
Прикрепленные файлы:
14. DamirI 21.06.19 21:37 Сейчас в теме
(12) KonS, скажите, вы какую версию платформы использовали для настройки хранилища на тот момент? Дело в том, что есть ли смысл настраивать файл cacert.pem, если версия платформы 8.3.12? Что по идее должно уметь просматривать сертификаты из хранилища операционной системы.

P.S. Так и не получилось подключиться к хранилищу через https.
15. websamson 307 29.07.22 10:12 Сейчас в теме
Свои 5 копеек:
Создаём сервер "crserver.exe -instsrvc -d [каталог хранилища]". Выдавал ошибку при указании пользователя и пароля, поэтому создал сервер под текущим пользователем и в свойствах службы заменил на нужного пользователя

Создаем хранилище с указанием пути вида: tcp://[мой_сервер]/[имя_хранилища]
в папке C:\inetpub\wwwroot создаем каталог, например, Repo и в нем создаем файл Repo.1ccr с содержимым:
<?xml version="1.0" encoding="UTF-8"?>
<repository connectString="tcp://localhost:1542"/>

Преобразовываем в IIS папку в приложение

В свойствах приложения указываем нужный пул (если несколько версий 1С на веб сервере)

В сопоставлении обработчиков прописываем Путь запроса: *.1ccr, исполняемый файл: C:\Program Files\1cv8\8.3.20.1710\bin\wsisapi.dll, имя: 1C Web-service Extension

В строке подключения пишем: http://[имя_сервера]/[имя_каталога_IIS]/Repo.1ccr/[имя_хранилища]

Еще есть отличная статья по теме:https://hobbycomp.ru/soft/nastrojka-servera-hranilishha-1s/
Оставьте свое сообщение