Jump to content

Question

Posted

Здравствуйте,

есть белый статический адрес и собственный домен 2-уровня: yyy.xxx (и  CNAME запись для поддомена 3-го уровня zzz.yyy.xxx, но пока это отношение к делу не имеет).

Хочу настроить свой Keenetic Speedster, как реверс прокси. С 80 портом вроде как получилось. Следующий шаг настроить 443.

На текущий момент все http proxy удалены.

show running-config

...
ip http security-level private
ip http lockout-policy 5 15 3
ip http ssl enable
ip http ssl redirect
ip nat Home
...

В моем понимании ssl сертификат должен терминейтится на роутере и дальнейшее общение роутер <-> устройство в локальной сети происходит уже по http.

начинаю получать сертификат на собственный домен

ip http ssl acme get xxx.yyy
Acme::Client: Obtaining certificate for domain "xxx.yyy" is started.

что вижу потом в логе (вывод для удобства отформатирован)

I [Jan  3 13:25:53] ndm: Acme::Tools: [312] "out": "
{
    "identifier": {
        "type": "dns",
        "value": "xxx.yyy"
    },
    "status": "invalid",
    "expires": "2022-01-10T10:25:39Z",
    "challenges": [{
            "type": "http-01",
            "status": "invalid",
            "error": {
                "type": "urn:ietf:params:acme:error:connection",
                "detail": "Fetching http://xxx.yyy/.well-known/acme-challenge/xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx: Timeout during connect (likely firewall problem)",
                "status": 400
            },
            "url": "https://acme-v02.api.letsencrypt.org/acme/chall-v3/00000000000/xxxxxx",
            "token": "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx",
            "validationRecord": [{
                    "url": "http://xxx.yyy/.well-known/acme-challenge/xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx",
                    "hostname": "xxx.yyy",
                    "port": "80",
                    "addressesResolved": ["a.b.c.d"],
                    "addressUsed": "a.b.c.d"
                }
            ],
            "validated": "2022-01-03T10:25:40Z"
        }
    ]
}
".

addressesResolved и addressUsed резолвятся правильно и это один и тот же мой статический белый IP.

Если понимаю правильно, то acme должен положить токен-файл xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx по пути: .well-known/acme-challenge, а letsencrypt достучаться до него по 80-му порту, но не может.

Проблема так понимаю: Timeout during connect (likely firewall problem)

Собственно как это пофиксить и пофиксить правильно?

 

P.S. повторю, что считаем на текущий момент за роутером ничего нет, как следствие все настройки реверс прокси убраны на данный момент.

3 answers to this question

Recommended Posts

  • 0
Posted

А есть тех. поддержка? Куда обратиться?

Может можно включить какой-нибудь дополнительный уровень отладки?

  • 0
Posted (edited)

Ошибка при получении сертификата возникает из-за ip http ssl redirect, который действует и на проксируемые домены.
Чтобы она не возникала, надо на время получения сертификата либо отключить редирект на SSL, либо удалить домен из настроек прокси.
Иначе letsencrypt обращается на порт 80, его перебрасывают на порт 443, а там роутер не отвечает, по-видимому, из-за отсутствия сертификата. Отсюда отвал по таймауту.

Edited by Andrey Anikin

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...