Gate
Gate-сервер в системе Smart Home представляет собой ключевой компонент, обеспечивающий безопасный и удобный удаленный доступ к умному дому даже при отсутствии статического IP-адреса. Этот сервер позволяет пользователям управлять и мониторить свой дом из любой точки мира через интернет, обеспечивая защиту данных и комфортное взаимодействие.
Преимущества Gate-сервера в системе Smart Home
-
Безопасность:
- Шифрование данных: Все данные, передаваемые между устройствами и Gate-сервером, шифруются для предотвращения несанкционированного доступа.
- Аутентификация: Встроенные механизмы аутентификации гарантируют, что только авторизованные пользователи имеют доступ к системе.
-
Удобство Удаленного Доступа:
- Без белого IP: Пользователи могут подключаться к системе даже при отсутствии статического IP-адреса, что делает удаленный доступ более удобным и доступным.
-
Гибкость настройки:
- Подключение к тестовому шлюзу: Smart Home предоставляет встроенный Gate-клиент, который может подключаться к тестовому шлюзу по адресу https://gate.e154.ru:8443 для тестирования и настройки удаленного доступа.
-
Масштабируемость:
- Поддержка множества устройств: Gate-сервер спроектирован для обработки одновременных запросов от множества устройств, обеспечивая масштабируемость системы.
Работа с Gate-клиентом в системе Smart Home
-
Настройка Gate-клиента:
- Включите режим Gate-сервера в системе Smart Home, указав адрес тестового шлюза или установив свой Gate-сервер.
- Настройте параметры безопасности, такие как шифрование и аутентификация.
-
Подключение к Gate-серверу:
- Gate-клиент автоматически устанавливает безопасное соединение с Gate-сервером, не требуя белого IP-адреса.
- Пользователи могут использовать мобильные приложения или веб-интерфейс для удаленного доступа.
-
Безопасное Удаленное Управление:
- Пользователи могут управлять устройствами, мониторить статус дома и получать уведомления даже находясь вдали от дома.
Конфигурация сервера
cat config.gate.json
{
"api_http_port": 8080,
"api_https_port": 8443,
"api_debug": false,
"api_gzip": true,
"pprof": false,
"domain": "localhost",
"https": false,
"proxy_timeout": 5,
"proxy_idle_timeout": 10,
"proxy_secret_key": ""
}
Свойства полей для файла настроек config.gate.json
:
-
http_port
(int):- Описание: Порт для HTTP API сервера.
- Пример значения:
8080
.
-
https_port
(int):- Описание: Порт для HTTPS API сервера.
- Пример значения:
8443
.
-
debug
(bool):- Описание: Включение режима отладки API сервера.
- Пример значения:
true
(включено).
-
gzip
(bool):- Описание: Включение сжатия Gzip для API запросов.
- Пример значения:
true
(включено).
-
domain
(string):- Описание: Доменное имя для Gate-сервера.
- Пример значения:
example.com
.
-
pprof
(bool):- Описание: Включение режима профилирования сервера.
- Пример значения:
true
(включено).
-
https
(bool):- Описание: Включение использования Let’s Encrypt для автоматического получения SSL-сертификата для указанного домена.
- Пример значения:
true
(включено).
-
proxy_timeout
(int):- Описание: Таймаут для прокси-соединений в секундах.
- Пример значения:
5
.
-
proxy_idle_timeout
(int):- Описание: Таймаут прокси-соединений при отсутствии активности в секундах.
- Пример значения:
10
.
-
proxy_secret_key
(string):
- Описание: Секретный ключ для обеспечения безопасности прокси-соединений.
- Пример значения:
mySecretKey
.
Эти параметры предоставляют гибкий контроль над настройками Gate-сервера, включая безопасность, режимы работы и использование SSL-сертификатов через Let’s Encrypt.
Запуск сервера
Gate сервер встроен в систему smart-home как отдельный режим, включаемый аргументом `gate``.
./smart-home help gate
Organization of remote access without white IP
Usage:
server gate [flags]
Flags:
-h, --help help for gate
./smart-home gate
___ _
/ __|__ _| |_ ___
| (_ / _' | _/ -_)
\___\__,_|\__\___|
INFO gate server/gate_server.go:93 > Started ...
INFO gate server/server.go:117 > server started at :8080