Информация об изменениях

Сообщение Re[5]: Как странице в браузере найти сервер в локальной сети от 03.04.2021 20:59

Изменено 03.04.2021 21:02 vsb

Re[5]: Как странице в браузере найти сервер в локальной сети?
Проще всего сделать такую схему:

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

2. Твой сервер в интернете генерирует имя вида 12345.localserver.mysoftware.com, с помощью letsencrypt и DNS-верификации получает сертификат на это имя и отправляет закрытый ключ и сертификат серверу в локальной сети. После этого сервер в локальной "владеет" этим именем. Каждому серверу нужно генерировать отдельное имя, это важно.

3. Также локальный сервер должен иметь возможность отправлять твоему серверу запрос на смену IP-адреса. Т.е. после этого запроса имя 12345.localserver.mysoftware.com будет указывать на 192.168.1.31, например.

Собственно всё. Пользователь использует адрес https://12345.localserver.mysoftware.com по которому будет открываться сервер 192.168.1.31 который будет иметь возможность отдать рабочий сертификат для 12345.localserver.mysoftware.com.
Re[5]: Как странице в браузере найти сервер в локальной сети
Проще всего сделать такую схему:

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

2. Твой сервер в интернете генерирует имя вида 12345.localserver.mysoftware.com, с помощью letsencrypt и DNS-верификации получает сертификат на это имя и отправляет закрытый ключ и сертификат серверу в локальной сети. После этого сервер в локальной "владеет" этим именем. Каждому серверу нужно генерировать отдельное имя, это важно.

3. Также локальный сервер должен иметь возможность отправлять твоему серверу запрос на смену IP-адреса. Т.е. после этого запроса имя 12345.localserver.mysoftware.com будет указывать на 192.168.1.31, например.

Собственно всё. Пользователь использует адрес https://12345.localserver.mysoftware.com по которому будет открываться сервер 192.168.1.31 который будет иметь возможность отдать рабочий сертификат для 12345.localserver.mysoftware.com.

Чтобы всё совсем было по феншую, в шаге 1 можно генерировать закрытый ключ прям на локальном сервере и на сервер в интернете отправлять CSR. Но это усложнит реализацию. В принципе можно даже letsencrypt-ом пользоваться напрямую с локального сервера, просто отправлять данные для верификации на сервер в интернете, который уже будет обновлять DNS-записи. Но это тоже усложнит реализацию, придётся разбираться с деталями работы letsencrypt-а. А по описанной простой схеме достаточно пары скриптов на баше.