|
|
Строка 1: |
Строка 1: |
| {{DISPLAYTITLE: Защита веб-интерфейса контроллера паролем }} | | {{DISPLAYTITLE: Защита веб-интерфейса контроллера паролем }} |
| [[Image: WebUI-2.0 — IP and Port.png|300px|thumb|right| Указаны адрес и порт для локального доступа к websocket и mqtt. Справа вверху зеленая надпись ''Connected'' сообщает об успешном соединении.]]
| |
| [[Image: HTTP-auth.png|300px|thumb|right| Форма http-авторизации. Введены логин и пароль.]] | | [[Image: HTTP-auth.png|300px|thumb|right| Форма http-авторизации. Введены логин и пароль.]] |
|
| |
|
| Веб-интерфейс не поддерживает авторизацию пользователя, но вы можете настроить http-авторизацию сервера nginx. После окончания настройки при подключении будет появляться окно с запросом логина и пароля.
| | {{Wbincludes: WebUI Password Intro}} |
|
| |
|
| # Обновите <code>wb-configs</code>, <code>nginx</code> и <code>mosquitto</code>:
| | Процедура настройки зависит от установленного дистрибутива: |
| #:<syntaxhighlight lang="bash">
| | * [[WebUI_Password_Stretch|Debian Stretch]] — {{Wbincludes: WebUI Debian Bullseye Releases}} |
| apt-get update
| | * [[WebUI_Password_Bullseye| Debian Bullseye]] — {{Wbincludes: WebUI Debian Stretch Releases}} |
| apt-get install nginx-extras mosquitto wb-configs
| |
| </syntaxhighlight>
| |
| #: Перезапустите <code>nginx</code> и <code>mosquitto</code>:
| |
| #:<syntaxhighlight lang="bash">
| |
| service mosquitto restart
| |
| service nginx restart
| |
| </syntaxhighlight>
| |
| # Так как по умолчанию доступ к <code>websocket-</code> и mqtt-порт снаружи открыт — закройте его. Для этого откройте файл <code>/etc/mosquitto/conf.d/listeners.conf</code>:
| |
| #:<syntaxhighlight lang="bash">
| |
| nano /etc/mosquitto/conf.d/listeners.conf
| |
| </syntaxhighlight>
| |
| #: и приведите его к виду:
| |
| #:<syntaxhighlight lang="bash">
| |
| #change 0.0.0.0 to limit listener to localhost
| |
| | |
| listener 1883 127.0.0.1
| |
| # example:
| |
| #listener 1883 0.0.0.0
| |
| | |
| #change 0.0.0.0 to 127.0.0.1 to limit listener to localhost
| |
| | |
| listener 18883 127.0.0.1
| |
| protocol websockets
| |
| </syntaxhighlight>
| |
| # Перезагрузите <code>mosquitto</code>:
| |
| #:<syntaxhighlight lang="bash">
| |
| systemctl restart mosquitto
| |
| </syntaxhighlight>
| |
| # Теперь перейдите в веб-интерфейс и обновите страницу клавишами <code>Ctrl+Shift+R</code> — это сбросит кэш страницы.
| |
| # На ошибки соединения пока не обращайте внимание и перейдите в раздел '''Settings''', укажите в поле '''Port''' новое число <code>80</code>. Далее нажмите '''Apply'''. В правом верхнем углу должна появиться зеленая надпись <code>Connected</code>. Теперь проверьте, что всё работает: перейдите в раздел Configs и проверьте, что конфигурации доступны для просмотра и редактирования.
| |
| # Далее включите глобальную аутентификацию:
| |
| #:<syntaxhighlight lang="bash">
| |
| root@wirenboard:~# ln -s /etc/nginx/sites-available/global_auth /etc/nginx/sites-enabled
| |
| root@wirenboard:~# service nginx reload
| |
| </syntaxhighlight>
| |
| #: по умолчанию логин <code>root</code>, а пароль <code>wirenboard</code>.
| |
| # Чтобы поменять пароль, выполните команду ниже:
| |
| #:<syntaxhighlight lang="bash">
| |
| printf "root:`openssl passwd -apr1`\n" > /etc/nginx/passwd
| |
| </syntaxhighlight>
| |
| #: здесь вместо ''root'' можно придумать любое другое имя пользователя.
| |
| # После выполнения команды появится запрос на ввод пароля — введите новый пароль, нажмите <code>Enter</code>, повторите ввод нового пароля и снова нажмите <code>Enter</code>.
| |
| # Вернитесь в веб-интерфейс, обновите страницу клавишами <code>Ctrl+Shift+R</code> и при запросе логина и пароля введите их.
| |
| | |
| '''Совет:''' Чтобы не вводить логин и пароль каждый раз при подключении к контроллеру, добавьте закладку с адресом контроллера в формате: <pre>http://login:password@host/</pre>
| |