WebUI Password: различия между версиями

Материал из Wiren Board
м (Заменил текст на шаблон)
Метка: замена
Строка 1: Строка 1:
{{Wbincludes:WebUI Password Protection}}
[[Image: WebUI-2.0 — IP and Port.png|300px|thumb|right| Указаны адрес и порт для локального доступа к websocket и mqtt. Справа вверху зеленая надпись ''Connected'' сообщает об успешном соединении.]]
[[Image: HTTP-auth.png|300px|thumb|right| Форма http-авторизации. Введены логин и пароль.]]
 
Веб-интерфейс не поддерживает авторизацию пользователя, но вы можете настроить http-авторизацию сервера nginx. После окончания настройки при подключении будет появляться окно с запросом логина и пароля.
 
# Обновите <code>wb-configs</code>, <code>nginx</code> и <code>mosquitto</code>:
#:<syntaxhighlight lang="bash">
apt-get update
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">
service mosquitto restart
</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>

Версия 21:31, 18 августа 2021

Указаны адрес и порт для локального доступа к websocket и mqtt. Справа вверху зеленая надпись Connected сообщает об успешном соединении.
Форма http-авторизации. Введены логин и пароль.

Веб-интерфейс не поддерживает авторизацию пользователя, но вы можете настроить http-авторизацию сервера nginx. После окончания настройки при подключении будет появляться окно с запросом логина и пароля.

  1. Обновите wb-configs, nginx и mosquitto:
    apt-get update
    apt-get install nginx-extras mosquitto wb-configs
    
    Перезапустите nginx и mosquitto:
    service mosquitto restart
    service nginx restart
    
  2. Так как по умолчанию доступ к websocket- и mqtt-порту снаружи открыт — закройте его. Для этого откройте файл /etc/mosquitto/conf.d/listeners.conf:
    nano /etc/mosquitto/conf.d/listeners.conf
    
    и приведите его к виду:
    #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
    
  3. Перезагрузите mosquitto:
    service mosquitto restart
    
  4. Теперь перейдите в веб-интерфейс и обновите страницу клавишами Ctrl+Shift+R — это сбросит кэш страницы.
  5. На ошибки соединения пока не обращайте внимание и перейдите в раздел Settings, укажите в поле Port новое число 80. Далее нажмите Apply. В правом верхнем углу должна появиться зеленая надпись Connected. Теперь проверьте, что всё работает: перейдите в раздел Configs и проверьте, что конфигурации доступны для просмотра и редактирования.
  6. Далее включите глобальную аутентификацию:
    root@wirenboard:~# ln -s /etc/nginx/sites-available/global_auth /etc/nginx/sites-enabled
    root@wirenboard:~# service  nginx reload
    
    по умолчанию логин root, а пароль wirenboard.
  7. Чтобы поменять пароль, выполните команду ниже:
    printf "root:`openssl passwd -apr1`\n" > /etc/nginx/passwd
    
    здесь вместо root можно придумать любое другое имя пользователя.
  8. После выполнения команды появится запрос на ввод пароля — введите новый пароль, нажмите Enter, повторите ввод нового пароля и снова нажмите Enter.
  9. Вернитесь в веб-интерфейс, обновите страницу клавишами Ctrl+Shift+R и при запросе логина и пароля введите их.

Совет: Чтобы не вводить логин и пароль каждый раз при подключении к контроллеру, добавьте закладку с адресом контроллера в формате:

http://login:password@host/