Jump to content
  • 0

Настройка https на устройстве с доступом через keendns


Quantum

Question

Если я правильно понимаю, то по умолчанию при обращении к устройству из внешней сети https идет до роутера, а затем http до конкретного устройства.

Возможно ли настроить https непосредственно на устройстве в локальной сети (например в nginx на ubuntu) так, чтобы сами веб приложения так же работали по https?
Т.е. или каким-то образом использовать в nginx сертификат, полученный keenetic'ом или получить его (сертификат) для домена 4 уровня на самом ПК?Прошивка 2.15.C.5.0-0

Извиняюсь, если уже где-то разжевано, поиском не смог ничего найти.

 

Link to comment
Share on other sites

9 answers to this question

Recommended Posts

  • 0

хм.. запросы вида domain4.domain3.keenetic.pro/.well-known/acme-challenge для получения сертификата до устройств просто не доходят.
Я так понимаю из-за wildcard-сертификатов на самом keenetic?
На это можно как-то повлиять?

Link to comment
Share on other sites

  • 0

Сертификат на кинетике ни при чем, потому что acme-challenge работает по HTTP, а не HTTPS. Мешать может только редирект кинетика. Попробуйте отключить его:

(config)> no ip http ssl redirect

Если не помогает, создайте руками файл в каталоге /.well-known и снаружи wget-ом посмотрите, что происходит.

Link to comment
Share on other sites

  • 0

не помогло.
существующий файл с произвольным названием внутри .well-known отдается успешно, несуществующий - 404 и я вижу это в логах
но если запрашивать .well-known/acme-challenge/test - в ответ прилетает 404, не зависимо от наличия файла,
причем страница с ответом не та, которую шлет мой nginx и в его логах этого вообще нет
если запрашивать .well-known/acme-challenge, то сначала редирктит 301 на .well-known/acme-challenge/, а уже оно говорит 403.
все запросы .well-known/acme-challenge ведут себя одинаково, даже если nginx остановлен:), для других запросов keenetic в таком случае отдает 502

 

 

 

Link to comment
Share on other sites

  • 0

отключил и редирект и сам ssl на роутере, созранил конфигурацию и перезагрузил до кучи

no ip http ssl enable
no ip http ssl redirect
system configuration save
system reboot

И все равно на curl "http://xxx.yyy.keenetic.pro/.well-known/acme-challenge/" в логе keenetic'a вижу следующее:

Июл 13 15:40:01 keenetic_giga nginx
2019/07/13 15:40:01 [error] 1727#0: *2719 directory index of "/tmp/nginx/acme/" is forbidden, client: 192.168.1.2, server: xxx.yyy.keenetic.pro, request: "GET /.well-known/acme-challenge/ HTTP/1.1", host: "xxx.yyy.keenetic.pro"

То что 403 это конечно хорошо, только я бы хотел добиться, что бы это был 403 от nginx'а на моем устройстве, а не keenetic'а:-) При попытке запросить файл - 404 и тишина во всех логах

Есть ли все-таки способ научить keenetic не перехватывать, а пропускать дальше такие запросы? Что еще надо отключить? Есть ли возможность самому поправить конфиг его nginx'a?

Edited by Quantum
Link to comment
Share on other sites

  • 0

Сейчас для 4 уровня acme challenge не нужен (разве только у вас свой домен и вы получаете на него сертификат).

Думаю, отключим там этот location и все станет хорошо.

Пришлите-ка self-test когда не работает на версии 3.01.

Версия 2.15 меняться не будет.

  • Upvote 1
Link to comment
Share on other sites

  • 0

Отлично, на 3.1 Beta 1 смог таки получить сертификат. Спасибо.
Теперь бы еще им воспользоваться :-) 
Каким образом можно сказать кинетику не терминировать SSL? SSL редирект пробовал отключать - не помогает.

Идеально было бы для каждого из поддоменов указывать надо оно или нет.
Но пойдет и общий рубильник или, например, зависимость от порта.
Все равно несколько странно выглядит, когда 443 перенапрявляем на устройство, а туда чистый http приходит и получаем в ответ 
400 Bad Request
The plain HTTP request was sent to HTTPS port

 

 

 

 

 

Link to comment
Share on other sites

  • 0

Если отключить ssl (no ip http ssl enable), то ssl отключается и, видимо, "совсем")
Т.е. все работает только по http а при запросе по https кто-то рвет соединение и в логе получаю;

Июл 19 22:17:53 ndm
Io::TcpSocket: failed to connect: connection refused.
Июл 19 22:17:53 ndm
Cloud::Tunnel: "NDNS/a33132704f282c7c077784ecbd0ff4a5": failed to connect to 192.168.1.2:443 - operation failed.

если включить - то, как сказано уже выше - 400.
от ip http ssl redirect - никакой разницы не заметил

 

Edited by Quantum
Link to comment
Share on other sites

  • 0

вобщем если я сам себя правильно понимаю :), то я пытаюсь добиться от роутера чего-то подобного:

https://serverfault.com/questions/625362/can-a-reverse-proxy-use-sni-with-ssl-pass-through

https://nginx.org/en/docs/stream/ngx_stream_ssl_preread_module.html

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Answer this question...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...