Jump to content

Question

Posted

Привет.

Использую Keen Ultra 1811. В роутере есть reverse-proxy, я довольно активно использую, хотелось бы добавить следующую возможность:

Сейчас если домена 4 уровня или любого другого нет в "доменное имя", то если указать А запись, будет 403 ответ. Т.е. reverse proxy, все ищет у себя, и если не находит, отдает 403, я бы хотел в настройках указывать следующий прокси или адрес и порт. Что бы если прокси на роутере не нашел, то делал сквозной трафик уже на адрес который я укажу в настройках. Для чего это нужно, когда много разных доменов, заводить их в роутер не самое удобное занятие через консоль, хотелось бы оставить в роутере только домены относящие к роутеру, а всё остальное можно было бы перенаправить на другой прокси, где уже принимать и роутить трафик по 80/443 портам. 

 

Плюсы: порт 80/443 остается за кинетиком, в случае когда нужен доступ к самому кинетику, в случае настройки, я могу спокойно принимать трафик по другим доменам, не меняя порты у роутера и не возиться в консоли, что бы добавить все домены и поддомены. Т.е. хотелось бы расширить возможности в этой области.

 

Так же, хотелось бы узнать какие точно заголовки пробрасываются при настройке x-real-ip, т.к. на версии 4.2.6.3, мне не удается поймать заголовки с host, трафик идет будто без проброса полных заголовков, в итоге я направляю на следующий прокси по разным портам, тоже не самое приятные занятие.

 

Заранее благодарю, и надеюсь смогу получить ответы, или запланировать такие работы.

8 answers to this question

Recommended Posts

  • 0
Posted

Заголовки вот такие:

Цитата

      proxy_set_header X-Real-IP $remote_addr;
      proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
      proxy_set_header X-Forwarded-Proto $scheme;
      proxy_set_header X-Forwarded-Port $ndm_server_port;
 

У нас на самом деле сложно сделать то, что вы хотите, поскольку в случае отсутствия proxy все редиректится в обычный веб. У вас показывает 403 только потому что запрещен доступ снаружи. Если же он разрешен, то вы будете видеть просто веб интерфейс.

  • 0
Posted
12 минут назад, Le ecureuil сказал:

Заголовки вот такие:

У нас на самом деле сложно сделать то, что вы хотите, поскольку в случае отсутствия proxy все редиректится в обычный веб. У вас показывает 403 только потому что запрещен доступ снаружи. Если же он разрешен, то вы будете видеть просто веб интерфейс.

По заголовкам хочется так же видеть proxy_set_header host $host

Если взять логику, что по умолчанию мы всегда идем в веб, почему нельзя расширить логику (ip роутера, fqdn - could, hostname) - идем в веб, + правила по reverse-proxy, если ничего более не задано, так же. Если же у меня в настройках стоит, грубо - "следующий прокси" - "адрес + порт", то дефортный роутер, если не совпадает ни с чем, что выше - идет в мой "следующий прокси". Я не вижу прям сильных сложностей в части реализации правил.

Благодарю, за быстрый ответ.

  • 0
Posted
22 часа назад, NetworK сказал:

Если взять логику, что по умолчанию мы всегда идем в веб, почему нельзя расширить логику (ip роутера, fqdn - could, hostname) - идем в веб, + правила по reverse-proxy, если ничего более не задано, так же. Если же у меня в настройках стоит, грубо - "следующий прокси" - "адрес + порт", то дефортный роутер, если не совпадает ни с чем, что выше - идет в мой "следующий прокси". Я не вижу прям сильных сложностей в части реализации правил.

Веб уже сейчас имеет правило "сам web + все wildcard на нем, которые не заняты proxy". Не забывайте, то часть людей ходит по domain.keenetic.link, часть по www.domain.keenetic.link, часть еще по неизвестным поддоменам. Ваша логика сломает такое поведение.

  • 0
Posted
4 минуты назад, Le ecureuil сказал:

Веб уже сейчас имеет правило "сам web + все wildcard на нем, которые не заняты proxy". Не забывайте, то часть людей ходит по domain.keenetic.link, часть по www.domain.keenetic.link, часть еще по неизвестным поддоменам. Ваша логика сломает такое поведение.

использование www кажись экологи запретили...из-за большого расхода электричества, тоннера и бумаги ...они вот высчитали))))

  • Upvote 2
  • 0
Posted
3 часа назад, Le ecureuil сказал:

ip http proxy preserve-host

Спасибо! Я нашел так же возможность прокидывать:

ip http proxy {name} preserve-referer — preserve Referer header for {name} of the web proxy rule.

ip http proxy {name} preserve-origin — preserve Origin header for {name} of the web proxy rule.

Где бы полную доку глянуть? :)

 

3 часа назад, Le ecureuil сказал:

Веб уже сейчас имеет правило "сам web + все wildcard на нем, которые не заняты proxy". Не забывайте, то часть людей ходит по domain.keenetic.link, часть по www.domain.keenetic.link, часть еще по неизвестным поддоменам. Ваша логика сломает такое поведение.

Я вообще не планировал реализацию во всей общей массе, что бы все такое настраивали, тут видится два варианта:

1) Через UI, где написано Atencion, данная настройка перенастраивает внутренний reverse-proxy, keenetic UI будет доступен только по адресам - и перечисление адресов (формулировку можно уточнить). Так же можно сделать окошко, с подтверждением, что "ты понимаешь, что ты делаешь". 

2) Так же как и с заголовками, идем в консоль и забиваем туда ip http proxy-end-upstream {host} {port}, по умолчанию оставляем там (что сейчас 127.0.0.1?), если настройка задана, то все что выше по правилам (reverse-proxy, fqdn, hostname, ip router, еще что? - my.keenetic.net) идет как и раньше, все остальное идет в proxy-end-upsteam.

Хотелось бы, конечно, подружелюбнее в UI, но меня устроил бы и вариант через консоль. Если при этом будет подсказка (уведомление, что бы не забыть) где в UI, что задан этот параметр, тоже вполне будет комфортно. 

  • Thanks 1
  • 0
Posted

@Le ecureuil 

 

Я бы так же, хотел что бы вы рассмотрели возможность следующих изменений:

Сейчас при указании домена второго уровня:

ip http proxy examples
domain static org

Я не могу сделать такое:

ip http proxy examples
domain static com

Т.к. такое название proxy уже занято.

 

Что хотелось бы

добавить параметр указания А запиcи или CNAME. 

т.е. 

ip http proxy {name} - указания самого правила

ip http proxy {name} cname {cname} - указание поддомена

ip http proxy {name} domain static {domain}

 

В чем смысл, если задано ip http proxy {name} cname {cname}, то используем его для {cname}.{domain}, если не задано используем стандартное {name}.{domain}

 

Т.е. хотелось бы называть правила proxy произвольными названиями, например по прямо назначению {cname}.{domain}, а в правилах уже указывать какой префикс и какой домен. Актуально, когда используешь в proxy домены второго уровня, как в примере и не только. Т.е. сейчас мне всегда нужно делать разные названия для поддоменов, т.е. использовать mail.mykeenetic.keenetic.pro и mail.examples.com не выйдет, т.к. у них будет одинаковое название в proxy - mail.

  • 0
Posted

Как как вариант, можно рассмотреть добавление "пользовательских доменов". 

Т.е. есть 3 уровня от kddns. И что бы свои можно было так же привязать второго уровня. Хорошо если серты будут так же как wildcard получались, при этом, по умолчанию хотелось бы что бы все домены 3-4 уровня для пользовательского второго уровня сразу шли на основной домен второго уровня, если не указаны отдельные какие правила по типу cname. Причем хотелось бы иметь возможность добавление не одного, а нескольких пользовательских доменов. 

 

Вот у меня ситуация, есть под 100 своих доменов, большая часть проектов живет на хостинге, но часть живет у меня на серверах, при этом в итоге суммарно уйдет под 30 доменов на мои сервера, по итогу пока для меня единственное более менее решение, это полностью перенаправить трафик с портов 80/443 на свой reverse-proxy, и уже там полноценно разруливать. Обвязку на получение wildcard сертификатов, тоже придется свою использовать. 

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

Important Information

This site uses cookies. By clicking "I accept" or continuing to browse the site, you authorize their use in accordance with the Privacy Policy.