Подключение к хранилищу конфигурации через 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С:Управление торговлей 10 1С:Управление производственным предприятием 1С:Управление нашей фирмой 1.6 1С:Управление торговлей 11 1С:Комплексная автоматизация 2.х 1С:Управление нашей фирмой 3.0 Платные (руб)

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

57600 руб.

26.11.2024    1235    1    1    

4

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

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

36000 руб.

03.08.2020    18355    20    22    

18

Сайты и интернет-магазины Интеграция WEB-интеграция Платформа 1С v8.3 Конфигурации 1cv8 Управленческий учет Платные (руб)

Интеграция 1С и Битрикс 24. Разработка имеет двухстороннюю синхронизацию 1С и Bitrix24 задачами. Решение позволяет создавать пользователя в 1С из Битрикс24 и наоборот. Данная разработка технически подходит под все основные конфигурации линейки продуктов 1С:Предприятие 8.3 (платформа начиная с 8.3.23): 1С:Управление торговлей, 1С:Управление Нашей фирмой 3, 1С:Комплексная автоматизация 2, Объединенное решение: Модуль 1С:CRM 3 (3.0.21.3) +1С:ERP Управление предприятием 2. При приобретении предоставляется 1 месяц бесплатных обновлений разработки. Доступна демо-версия продукта с подключением Вашего Битрикс24

7200 руб.

04.05.2021    20564    13    19    

18

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    320    2    0    

5

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

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

24000 руб.

27.09.2024    2483    1    0    

3
Комментарии
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
1. biformatus 16.08.18 01:41 Сейчас в теме
А есть способ сделать нормальный адрес, например субдомен.домен.ком/имя подкаталога хранилища?
2. ktb 632 16.08.18 07:29 Сейчас в теме
(1)Если адрес доступен "снаружи", то получаете и привязываете к нему dns-имя любым доступным способом. Если не нравится часть адреса "repo/repo.cr", то nginx поможет.
3. KonS 77 16.08.18 09:33 Сейчас в теме
(1) согласен с (2) - это если только средствами веб-сервера.
4. premierex 205 22.08.18 08:38 Сейчас в теме
Познавательно. Давно работаю с хранилищем конфигурации, а вот с сервером хранилища пока ещё не сталкивался. Добавлю себе в закладки.
5. KonS 77 22.08.18 09:30 Сейчас в теме
(4)в общем случае можно ограничиться первыми двумя шагами. дальше если есть необходимость дать доступ по слабому и/или защищенному каналу
6. premierex 205 22.08.18 09:47 Сейчас в теме
Было бы неплохо ещё и описать работу, например, с Apache (далеко не все используют IIS). Ещё познавательней было бы.
7. KonS 77 22.08.18 10:01 Сейчас в теме
(6)публикации на инфостарте по теме есть и достаточно подробные *например https://infostart.ru/public/646384/ поэтому смысла плодить не вижу. я свои заметки писал, потому как пришлось много источников перелопатить именно по теме https и сертификатов
8. premierex 205 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/
Оставьте свое сообщение