Имя: Пароль:
1C
1С v8
HTTP-сервер + SSL + Android/iOS
,
0 amberweiss
 
17.03.19
22:45
Приветствую))
Имеется файловая база в магазине, и несколько мобильных устройств, по wi-fi подключенных к той же сетке, что комп с базой.
На мобильных - приложение от сторонних разработчиков(не 1С), которые являются инициаторами запросов к HTTP-сервису в 1С. Согласно их API - требуется ssl-сертификат от доверенного центра.
На компе развернут Аpache2.4 и сгенерирован самоподписанный сертификат по этой инструкции http://catalog.mista.ru/public/146288/
Если зайти в веб-версию приложения на этом же компе - все работает нормально, но периодически появляется сообщение о том, что подключение не защищено. Лечится тем, что по адресу http-сервиса можно перейти в браузере https://127.0.0.1/test_retail/hs/httpservice/product/xxxxx и жамкать "Перейти на сайт 127.0.0.1 (небезопасно)"
При попытке обратиться к HTTP-сервису с мобильного устройства - ошибка "Этот сайт не может обеспечить безопасное соединение. ERR_SSL_PROTOCOL_ERROR".
Решение, которое нагуглилось - поучить от доверенного центра, например Комодо, нормальный сертификат.
Но там требуется человеческий домен, типа http://www.site.ru, у меня же происходит просто обращение по ip внутри локальной сетки на пару компов и 3 планшета - https://192.168.1.165/test_retail/hs/httpservice/product/xxxxx
Посоветуйте, знатоки, как это по красоте решается?
1 palsergeich
 
17.03.19
22:48
Let’s Encrypt вроде он могет в это
2 palsergeich
 
17.03.19
22:49
3 palsergeich
 
17.03.19
22:52
Хотя в другой теме говорят, что на ИП он тогда не будет доверенным https://stackoverflow.com/questions/36303344/letsencrypt-ssl-on-ip-address
4 amberweiss
 
17.03.19
22:54
(3) да, он как доверенный не заходит(((
5 palsergeich
 
17.03.19
22:56
Может тогда взять домен 3го уровня и на него получить доверенный уже сертификат в том же Let’s Encrypt, и проксировать на ип в локалке?
Я не очень в этом силен, но должно работать по идее
6 amberweiss
 
17.03.19
23:03
(5)  "и проксировать на ип в локалке?" - а можно носом во что-нибудь ткнуть, как это хоть +/- делается, пожалуйста. Чуть более чем ничего не понятно:(
7 Garykom
 
гуру
17.03.19
23:05
Два варианта:
1. "приложение от сторонних разработчиков(не 1С)" исправить
2. Свой сайт/домен с сертификатом и настроить проброску через него на сервер 1С, когда мобильное приложение обращается на подписанный домен а попадает в результате на сервер 1С
8 Garykom
 
гуру
17.03.19
23:07
(6) В это бесполезно тыкать, админ нужен чтобы настроил и поддерживал когда падает/глючит
9 amberweiss
 
17.03.19
23:16
(7) Спасибо, вариант 1 не походит к сожалению
2ой вариант - как это реализуется? На сайте нужно будет продублировать шаблоны, которые сделаны в HTTP-сервисах в 1с?
10 yzimin
 
18.03.19
00:29
(7) Если есть свой сайт с SSL, то будет достаточным только пробросить поддомен на сервер 1С или нужно сертификаты прописывать ещё в апачи?
Конкретно интересует, что указать в

SSLEngine On
SSLCertificateFile conf/ssl/my-server.cert
SSLCertificateKeyFile conf/ssl/my-server.key

?
11 Garykom
 
гуру
18.03.19
00:59
(10) Естественно сертификаты надо будет прописать в апаче, скопировав их на машину (сервер) за nat.
https://www.linux.org.ru/forum/admin/13764126

(9) Сайт как таковой не нужен, требуется доменное имя.
Если у тебя белый ip (пофиг что динамический) в твоей локалке то все замечательно и стандартно, просто проброска на шлюзе нужных портов на твой сервер с апачем в локалке.

Если же белого ip нет то придется поднимать VPS/VDS где то с белым ip, туда привязывать купленный домен (на его ip адрес) и настраивать проброску (через поднятый там vpn сервер и клиента у тебя в локалке) входящих на твой внутренний сервер.

Да выглядит это извращенно, когда внутренний ip локалки чтобы попасть на внутренний же ip сервер лезет через инет на твой шлюз (VPS/VDS) и далее обратным каналом попадает на сервер.
12 Garykom
 
гуру
18.03.19
01:19
(11)+ Чтобы это извращение работало даже когда упал внешний инет (ну и для ускорения), можно поднять внутри свой dns сервер и назначить там на домен (с сертификатом) локальный ip сервера
13 arsik
 
гуру
18.03.19
07:12
А не проще в самом устройстве самоподписной сертификат внести в доверенные?
14 Aleks Kucher
 
18.03.19
08:44
(0) у вас в магазине 100% есть роутер.
На нем есть DNS служба, поэтому хосты в сети могут общаться не по IP а по имени. Сертификаты выдаются к Имени.
Устанавливаете свой сертификат который вы генерировали, на хосты в доверенные корневые центры сертификации.
Без последнего пункта самоподписанный сертификат работать не будет