Простой внешний доступ в Hass.io

26 февраля 2020, 21:10

Очередная инструкция как настроить внешний HTTPS доступ в Hass.io.

У вас должен быть статический или динамический "белый" IP-адрес.

Статью для "серого" IP-адреса я когда-нибудь напишу...

1. Заводим своему дому имя*

Если ваш роутер (mikrotikkeeneticd-link, asus) или NAS (synology) уже поддерживают свои собственные DDNS - можете завести доменное имя там.

Если не поддерживают, регистрируемся тут: https://www.duckdns.org/

2. Пробрасываем порты на роутере

В настройках роутера пробрасываем порты 80 и 443 на локальный IP-адрес вашего Hass.io (на порты 80 и 443 соответственно). Как это делать читайте в инструкциях к своему роутеру.

Обязательно нужны оба порта и именно эти.

3. Устанавливаем аддон

Добавляем новый репозиторий аддонов Hass.IO:

https://github.com/bestlibre/hassio-addons

И устанавливаем аддон:

Caddy Proxy

1600x_image.png?1582747100

4. Настраиваем и запускаем аддон

В конфиге аддона указываем ваше DDNS имя и email. Почта используется для регистрации Let's Encrypt сертификата.

На момент старта аддона у вас уже должны быть прокинуты порты 80 и 443 и доменное имя обновлено на публичный IP-адрес. Иначе ничего не заработает.

В логах аддона после запуска должны быть такие строки:

1600x_image.png?1582747100
Serving HTTPS on port 443 
https://myhome.duckdns.org
Serving HTTP on port 80 
http://myhome.duckdns.org

5. Пользуемся

Да, это действительно всё. Уже можно пользоваться. Ваш дом уже доступен по адресу: 

https://myhome.duckdns.org/

Никаких портов в адресе указывать не нужно.

Никакие китайцы не будут к вам ломиться, потому что без указания доменного имени им будет выдаваться пустая страница.

Ваш Home Assistant уже готов к подключению к Яндекс Алисе или Google Ассистенту.

http://myhome.duckdns.org/ автоматически будет перенаправлять на https-версию.

Сертификат сам будет продлеваться, вам даже не нужно знать где лежат файлы cert и key.

Вы можете не знать слова HTTP2, GZIP, SSL, но это всё уже у вас есть, настроено правильно и работает.

Секция http в файле configuration.yaml вообще не нужна! Можете полностью её закоментировать.

Вы всё ещё можете отрыть свой HA по локальному IP-адресу:

http://192.168.1.123:8123/ тут указание любимого порта 8123 обязательно, протокол обязательно http.

PS

1. Рекомендую включить 2х факторную авторизацию. Это делается в профиле пользователя в HA. Ключи может генерировать мобильное приложение Google Authenticator.

2. На некоторых роутерах HA не откроется в локальной сети по доменному имени. Можете погуглить Hairpin NAT для своего роутера. Лично я прописал статический DNS адрес на роутере, где привязал публичное доменное имя к локальному IP-адресу. Но не все роутеры так умеют.

3. Редким компонентам всё же нужно знать публичное доменное имя HA, например сервису cast.show_lovelace_view компонента cast. Тогда можете вернуть секцию httpbase_url: https://myhome.duckdns.org/

4. Если вы выбрали DDNS от duckdns.org и у вас динамический IP-адрес - к сожалению эта версия аддона не поддерживает обновление адреса при его смене. В этом случае вы можете установить второй аддон - Duck DNS и использовать его только для обновления IP-адреса. При этом отключить в нём обновление сертификата с помощью accept_terms: false


Все новости мира умных домов - t.me/SprutAI_News или Instagram
Остались вопросы? Мы в Telegram - @Soprut

Хочешь умный дом но нет времени разбираться?
Посмотри примеры работ и выбери себе интегратора.
  1. (TEDSv)
    (TEDSv) 3 месяца назад

    А что делать когда 80 порт занят?) 

  2. Николай Торов (toroff)
    Николай Торов (toroff) 3 месяца назад

    Очень хочется узнать, как с "серым" ip адресом подключить!

    • Антон Киселёв (Whilser)
      Антон Киселёв (Whilser) 3 месяца назад

      Через облако

    • (georg)
      (georg) 3 месяца назад

      роутер какой?

    • (rregedit)
      (rregedit) 2 месяца назад
      OpenVPN-VDS+ Nginx -домен.
      У меня только этот способ получился. Так как провайдер дает серый ip, приобрести белый у мобильных операторов не реально на физ лицо.

      Пользовался KeenDNS , но постоянно переподключается, править конфиги не получается.

    • Денис Игнат (iGnat78)
      Денис Игнат (iGnat78) месяц назад

      Удалось подключиться с серым ip?

  3. Антон Киселёв (Whilser)
    Антон Киселёв (Whilser) 3 месяца назад

    А не проще просто взять статический IP у провайдера?

  4. Денис Игнат (iGnat78)
    Денис Игнат (iGnat78) месяц назад
    ```Статью для "серого" IP-адреса я когда-нибудь напишу...``` Очень Актуально!!! Жду...

  5. (iv_alexander)
    (iv_alexander) месяц назад
    Супер просто! Спасибо все работает!

  6. (andrew.lapshin)
    (andrew.lapshin) месяц назад

    Добрый день. Все сделал по инструкции шаг за шагом, но https нет доступа, в чем может быть проблема?

  7. (alexgavr54)
    (alexgavr54) 2 дня назад

    Только что установил чистый (не докер) Caddy для докер контейнера ХА, без всяких аддонов и хассио. Если делать первый раз, то густой лес.  Половину дня убил на штудирование инета по данной теме. Но результат радует. А эпопея началась с того, что у меня при включении в конфиг файл ХА секции http с сертами, отваливалось TTS у колонок гугл хом мини. Caddy рекомендую!

К списку блогов

Похожие записи

13 февраля 2019, 22:00
Подключение радио на Xiaomi Gateway к Home Assistant c дальнейшим использованием в автоматизациях
19 апреля 2019, 20:53
Требуется ваше мнение!
06 февраля 2019, 12:02
Автоматизированное открытие/закрытие окна
04 апреля 2019, 12:45
Самое важное из апдейта Home Assistant 0.91-0.91.4 от 03.04.19.
21 марта 2019, 11:59
Самое важное из апдейта Home Assistant 0.9 от 20.03.19.
21 февраля 2019, 21:12
Самое важное из апдейта Home Assistant 0.88 от 20.02.19.
19 января 2019, 20:49
Делюсь новостями по проекту.
07 февраля 2019, 21:12
Самое важное из апдейта Home Assistant 0.87 от 06.02.19.
20 мая 2019, 20:54
Добавляем Телевизор в Homekit c помощью новых возможностей Home Assistant версии 0.93 и кастом компонента SmartIR MediaPlayer.