Re: Нужен прокси, но хитрый

Maksim Dmitrichenko <[email protected]>
Newsgroups gmane.linux.debian.user.russian
Message-ID <CAMRqRqyQ4tpJty8OU0FBuXrX3DG7Pj9BodEJ4T494Va+CcP0Yg@mail.gmail.com>
чт, 23 мар. 2023 г. в 14:01, Eugene Berdnikov <[email protected]>:

> On Thu, Mar 23, 2023 at 01:26:04PM +0400, Maksim Dmitrichenko wrote:
> >    Хочется поиметь такой HTTP Proxy сервер, который:
> >    а) будет балансировать соединения из внутренней сети в Интернет по
> >    определенному набору внешних айпишников (к каждому из которых на хосте
> >    прокси имеется, например, VPN-соединение, то есть айпишники не на
> >    интерфейсах хоста, где запущен прокси, а до них ещё один хоп).
> >    б) умеет группировать айпишники по группам (с помощью конфигурации), а
> >    клиент имеет возможность выбрать группу (например в заголовке к методу
> >    CONNECT).
>
>  Ну, это всё незамысловато строгается через squid+iproute+iptables...
>  Даёте группе свой выходной src_ip, и через ip rule его на нужный шлюз.
>

Таким образом нельзя программно-протокольным образом выбрать группу
адресов, через которую отправится предстоящее соединение. Если я правильно
понял предлагаемую схему.


>  Вот только установка своих заголовков может быть лишь в палате для буйных,
>  где каждый себе своего клиента строчит и свои заголовки в запрос вставить
>  может. А простые юзеры могут лишь в настройках браузера порт или ip-адрес
>  прокси выбрать (по порту и ip сквид разрулить трафик может).
>

Причем здесь браузер и простые юзеры? Что вообще за чушь вы тут понаписали,
буйный вы наш? Есть, например, такие инструменты как haproxy, и они,
понятное дело, нужны совсем не для того, чтобы некий Уасилий через него в
своём Internet Explorer'е сайтики открывал.


> >    в) умеет гарантировать, что для отдельного взятого клиента очередной
> >    CONNECT поедет через такой айпи, через который данный клиент ещё не
> >    законнекчен или выдаст ошибку (типа 429). Идентификацию клиента можно
> >    делать авторизацией или каким-то уникальным значением, которое
> передается,
> >    например, опять же в одном из заголовков к методу CONNECT.
>
>  Боюсь, для столь удивительной задачи ничего готового не найти.
>  Тем более что статус 4xx по превышению числа коннекций это точно не для
>  людей, даже из палаты для буйных. :)
>

Нормальное поведение любой REST-овой APIшки возвращать 429, если превышен,
например, RPS к её вызовам. Вам что-то буйные мерещатся в каждом абзаце.
И задача, в общем-то, вполне прозаическая для тех, кому приходится работать
со сторонними REST API, которые режут RPS по IP. То, что вам в жизни не
приходилось этого делать, не делает задачу удивительной ни на йоту.

-- 
With best regards
  Maksim Dmitrichenko
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.