Терминал отправляет в 1С логин и пароль кладовщика. По http они идут
открытым текстом — их видит любой на пути. Ниже — как перевести сервис на защищённое
соединение бесплатным сертификатом, по шагам.
Зависит от того, откуда терминалы подключаются к 1С.
| Как работают терминалы | Что делать |
|---|---|
| Только в Wi-Fi склада, сервер наружу не смотрит | Сертификат не обязателен. Самый безопасный вариант — вообще не открывать сервер в интернет |
| Терминалы выходят через интернет: разъездная приёмка, второй склад, курьеры | HTTPS обязателен. Иначе пароли сотрудников идут по сети открытым текстом, а сервис 1С доступен всему интернету |
Сервер уже опубликован наружу по домену, но по http |
Самый частый случай. Основное уже настроено — остаётся сертификат, работы на полчаса |
tsd.вашафирма.kz. Годится поддомен основного сайта, отдельный домен покупать не нужно.Именно в этом порядке: если выпустить QR-код для терминалов раньше сертификата, придётся
пересканировать все устройства заново — адрес поменяется с http на https.
В панели управления доменом добавьте A-запись: имя tsd, значение —
внешний IP-адрес вашего интернет-канала. Через несколько минут проверьте с любого
компьютера:
nslookup tsd.вашафирма.kz
В ответе должен быть ваш внешний адрес.
Пробросьте на внутренний адрес сервера с 1С два порта:
На сервере с Windows проще всего утилитой win-acme: она получает сертификат Let’s Encrypt, сама привязывает его к сайту и настраивает автоматическое продление каждые 60 дней.
wacs.exe
В меню выбрать создание сертификата для сайта IIS, указать домен
tsd.вашафирма.kz и согласиться на автоматическое продление. Для Apache
сертификат выпускается так же, но прописывается в конфигурации вручную —
SSLCertificateFile и SSLCertificateKeyFile.
В диспетчере IIS: сайт → «Привязки» → добавить https, порт 443, имя узла
tsd.вашафирма.kz, выбрать выпущенный сертификат. Если win-acme отработал —
привязка уже создана, достаточно проверить.
С сервера — что публикация отвечает по защищённому адресу:
https://tsd.вашафирма.kz/tsd/hs/eamtsd/v1/health
Ожидается ответ со словами "success": true. Затем то же самое
с телефона по мобильному интернету, не по Wi-Fi склада — это проверяет всю
цепочку целиком: домен → роутер → веб-сервер → 1С.
В мастере установки укажите в поле «Внешний URL API» защищённый адрес:
https://tsd.вашафирма.kz/tsd/hs/eamtsd/v1
Нажмите «Проверить связь», затем создайте QR-код и отсканируйте его на каждом терминале: экран входа → «Подключить 1С по QR».
Когда терминалы переведены и работают, оставлять открытым обычный http
незачем: настройте на веб-сервере перенаправление на https либо закройте
80-й порт снаружи. Если сертификат продлевается проверкой через порт 80, оставьте
открытым только его, а сервис 1С отдавайте исключительно по 443.
| Что видно | Обычная причина |
|---|---|
| по http работает, по https нет |
Не проброшен порт 443 на роутере либо нет привязки https у сайта |
| браузер ругается на сертификат |
Сертификат самоподписанный или выпущен на другое имя. Проверьте, что домен в сертификате совпадает с адресом, по которому обращаетесь |
| в браузере открывается, терминал не подключается |
В приложении сохранён неполный адрес — без /имя_публикации/hs/eamtsd/v1. Проще всего перевыпустить QR |
| работало, перестало через три месяца |
Истёк сертификат, автопродление не сработало. Проверьте задание win-acme в планировщике |
| выпуск сертификата не проходит |
Let’s Encrypt не достучался до сервера по 80-му порту снаружи. Проверьте проброс и что домен указывает на нужный IP |