Простой внешний доступ в 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 - @SprutAI

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

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

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

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

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

      Через облако

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

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

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

        Keenetic giga kn-1010

        • Alex Zubko (AlexZHome)
          Alex Zubko (AlexZHome) 4 месяца назад

          Все прекрасно работает через облако Keendns. Билайн, серый ip. Гугл ассистент и алиса работают.   

          • Дмитрий  Тер (DTer)
            Дмитрий Тер (DTer) месяц назад
            А какой у вас домен? У меня пока работает на mykeenetic.ru, но его собираются отключить. А на доменах с автоматической защитой SSL-сертификатами у меня не работает.

            • Alex Zubko (AlexZHome)
              Alex Zubko (AlexZHome) отредактировано месяц назад

              keenetic.pro с SSL нормально работает. Минус - ХА и роутер доступны по адресу из инета.  

              • Дмитрий  Тер (DTer)
                Дмитрий Тер (DTer) месяц назад
                В итоге написал в поддержку Keenetic и вот их ответ:
                Для чтобы отключить SSL-сервера и тем самым освободить работу TCP\443, потребуется поочередно ввести команды в CLI:

                no ip http ssl enable
                no ip http ssl redirect
                ip http security-level public
                system configuration save


                У меня заработало.

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

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

      • (SN-SN)
        (SN-SN) 6 месяцев назад

        А можно поподробнее, а желательно подробную статью))

        Подойдет ли этот способ для использования Яндекс Алисы в home assistant?

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

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

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

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

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

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

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

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

  7. (alexgavr54)
    (alexgavr54) 7 месяцев назад

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

  8. (uaaauaaa)
    (uaaauaaa) 4 месяца назад

    Сделал, вроде все норм, и по https могу зайти, но при объединении аккаунтов яндекс станции и предварительно созданного HA - яндекс ругается на то, что "сайт не может обеспечить безопасное соединение"

    • (freem)
      (freem) 4 месяца назад

      Столкнулся с аналогичной проблемой. Вам удалось её решить?

  9. (powerunti)
    (powerunti) 2 месяца назад

    Сделал всё как в статье, но доступа в локальной сети по wifi нет, со всех устройств через оф. приложение. С браузера доступ есть. Предполагаю что всему виной двухфакторная аутентификация. Есть у кого идеи как решить проблему?

    А так статья огонь, получилось всё без проблем с первого раза!

  10. (w4serg)
    (w4serg) отредактировано месяц назад

    После того как по непонятным мне причинам аддон DuckDNS перестал видеться снаружи, хотя в логах все ок, перешел на Keenetic.

    В Keenetic очень просто все, никаких портов не открывал, только назначил домен на адрес ХА:8123 и все ок работает, Или что тут не так?

  11. (TIREX)
    (TIREX) 13 дней назад

    Ох, сколько народа сидит без публичного IP у провайдеров ... 10.ххх

  12. (cools2)
    (cools2) 2 дня назад

    Роутер микротик, включил ddns, открыл 8123, 80 и 443 порт.

    Установил caddy proxy, настроил, запустил. В логах ошибка:

    failed to obtain certificate: acme: error: 429 :: POST :: https://acme-v02.api.letsencrypt.org/acme/new-order :: urn:ietf:params:acme:error:rateLimited :: Error creating new order :: too many failed authorizations recently: see https://letsencrypt.org/docs/rate-limits/, url: 

    Кто-нибудь сталкивался?

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

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

12 сентября 2020, 20:51
Создание при помощи бесплатной программы Sweet Home 3D интерактивного плана помещения для Home Assistant.
16 июля 2020, 15:13
Удобная настройка Home Assistant с помощью packages.
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
Делюсь новостями по проекту.