Pull to refresh

Comments 35

Очень интересная штука, покручу и её, возможно получиться (если получу адекватный результат, то тоже статью напишу)

Текстовая консоль в виде скринов, да еще и в png?

Ну с тем, что вывод консоли скриншотом тут не поспоришь, а вот что не так с png?

UFO just landed and posted this here

На момент написания, это казалось хорошей идеей)

По описанию создалось впечатление что это задача для чего-то типа nagios.

Спасибо, посмотрю что за зверь nagios

Nagios - это который система мониторинга или что-то ещё? Потому что в первом случае не понятно что вы имели ввиду, а во втором интересно узнать подробности.

Согласен , почитал про Nagios и мне кажется ,что это не то) Ну или я не знаю "как его готовить"

sudo apt update
sudo apt upgrade

Если система свежеустановленная, то вместо apt upgrade лучше сделать apt full-upgrade.

cd /usr/local/3proxy/conf/
chmod ug+rwx add3proxyuser.sh
/usr/local/3proxy/conf/add3proxyuser.sh proxyuser proxypass

Странно, что issue про это закрыт с сообщением об исправлении проблемы в версии 0.9.4. Но вообще достаточно было дать прав на запуск, права на запись тут избыточны.

systemctl enable 3proxy && service 3proxy start && netstat -tlpn | grep prox

Можно одной командой включить и запустить systemd-юнит:

systemctl enable --now 3proxy

net-tools давно считается deprecated, на свежей системе его может уже и вовсе не оказаться. Стоит использовать актуальный iproute2, где заменой netstat -tlpn будет команда ss -ntlp.

curl -L -x http://proxyuser:proxypass@IP_Сервера:4888 https://myip.ru/index_small.php

Мелочь, но есть ресурсы с более приятным выводом в консоли. Тот же https://2ip.ru выведет лишь IP адрес, без всяких html-тегов.

Спасибо , учту на будущее

А в итоге прокси на nginx так и не попробовал? Я не гуру, но балансирование там вроде поддерживается (сам ещё не пробовал), а редирект на какой-либо адрес в зависимости от приходящего урла там точно есть. Или это будет в следующей статье?

Причем в моем случае оказалось очень удобно что можно через nginx пропустить даже трафик без шифрования и придать ему все прелести HTTPS - превратить его в зашифрованный.

Потом обернуть nginx в контейнер (или сразу взять готовый контейнер), и понеслась.

Попробовал, но пока не получается его нормально настроить, как добью его сразу напишу статью

UFO just landed and posted this here

А зачем вам допы, тем более платные? ))
У меня безопы требуют наоборот отказаться от всех неиспользуемых модулей, а раз так - я вообще посматриваю не просто на тему удалить все сторонние модули, а вообще скомпилировать nginx с нуля со всеми нужными настройками и внести это в пайплайн, осталось лишь добраться и сделать. Материалы на хабре об этом есть ))

UFO just landed and posted this here

Данные нельзя хранить на промежуточном сервере, так как они слишком часто обновляются :(

"Слишком часто" - это несколько раз в секунду? Да и в этом случае странный выбор. Имхо для большинства сценариев подойдет демон, который опрашивает все "дома" и отдает уже готовый датасет. В противном случае Вы одним упавшим "домом" завалите всю кухню.

Звучит многообещающе

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

Я уже мучаю nginx, но очень заинтересовал haproxy попробую и его посмотреть) спасибо за информацию

что-то, мне кажется, вы сильно не понимаете, что такое прокси.

есть forward proxy: это софтина перенаправляет запросы от пользователей к серверам в интернет. То есть, в браузере у пользователя вы явно настраиваете адрес прокси (ни или curl -x) и браузер идет к проксе и говорит "дай мне страничку", а прокси устанавливает новое соединения, возможно с другого интерфейса, получает страничку и перекладывает ее в пользовательское соединение. Это - 3proxy, squid, tinyproxy, etc...

есть reverse proxy который ставится в обратную сторону. Это по сути обычный веб-сервер принимающий запросы от пользователей из интернета и перенапавляющий их другим веб-серверам. Это - nginx, haproxy, traefik, apache, etc.

вы в своей задаче в посте описываете обычный каскадированный forward proxy и продукт берете соответствующий. А в комментах вам советуют reverse proxy и вы пишите - пробую, интересно, но ничего не выходит. И не выйдет: ngnix и haproxy - это reverse proxy, они для другого. У forward proxy и reverse proxy (web server, по-факту) даже формат get запроса разный:

https://www.oreilly.com/library/view/http-the-definitive/1565925092/ch06s05.html

ну то есть вы предлагаете вместо того чтоб взять просто squid засесть за пересборку или вообще за программирование? ну так в принципе и хлеб напильником можно резать, да )

Squid не решит задачу, пробовали уже) если бы не стояло ограничение на ос то я мог бы и написать данный инструмент, а в сборке не вижу ничего страшного, nginx изначально облегчен и все что нужно можно доставить)

nginx и haproxy - НЕ балансировщики ) это reverse proxy. например, из важных функций балансировщика у nginx и haproxy нет возможности кластеризации, т.е. обеспечения отказоустойчивости - надо городить что-то с помщью другого софта типа keepalived, pacemaker и т.п.

F5 LTM, Citrix NetScaler, Kemp - это балансировщики.

Вы не поверите, но..
Вы не поверите, но..
И nginx о себе такого же мнения
И nginx о себе такого же мнения

И ещё, кажется, вы путаете кластеризацию с отказоустойчивость.

кластер - это несколько узлов выполняющих одну задачу. бывают кластеры для повышения производительности общей системы (hadoop), кластер для повышения емкости (кластер гипервизоров), так и кластеры для повышения отказоустойчивости (failover cluster, например у Cisco ASA или MS Failover Cluster).

по поводу балансеров: балансер служит для двух целей - обеспечение бесперебойной работы того что он там балансирует и соответственно сам не должен становиться точкой отказа; распределение нагрузки. Ни nginx, ни haproxy не умеют ничего самостоятельно про второй пункт. А еще ngnix про себя сам думать ничего не может, потому что он F5 ;)

ах, да - кто это сказал, что они best-in-class? хоть кто-то из софтовых решений умеет в аппаратное ускорение шифрования, например?

кластер - это несколько узлов выполняющих одну задачу. бывают кластеры для повышения производительности общей системы (hadoop), кластер для повышения емкости (кластер гипервизоров), так и кластеры для повышения отказоустойчивости (failover cluster, например у Cisco ASA или MS Failover Cluster).

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

балансер служит для двух целей - обеспечение бесперебойной работы того что он там балансирует

Балансер занимается балансировкой нагрузки. Это прям в его названии отражено. Обеспечение отказоустойчивости - это отдельная задача. Вы явно привыкли использовать проприетарные коммерческие продукты, где вам за деньги все функции заботливо уложили в одну коробочку. Что ж, пожалуйста. Только это никак не делает справедливым ваше суждение, что "nginx и haproxy - НЕ балансировщики".

А еще ngnix про себя сам думать ничего не может, потому что он F5 ;)

Ну зайдите по ссылке к скриншоту, посмотрите что за сайт и чей он.

ах, да - кто это сказал, что они best-in-class? хоть кто-то из софтовых решений умеет в аппаратное ускорение шифрования, например?

Спрашивать про аппаратное ускорение шифрования софтверных решений? Вы это серьезно?

Не понял задачу. Опишите пожалуйста подробнее.

«Условно мы обращаемся к серваку 100.1.2.101 по порту 8080 и просим от него данные о всех домах на определенной территории ,он в свою очередь по заданному сценарию коннектится к определенному proxy»

Какая логика выбора сервера? Мы обращаемся снаружи и запрашиваем данные с одного из агентов?

У меня похожая ситуация.

Софт работает только с прокси с авторизацией по ip.

Нужно сделать перенаправление прокси, множество портов, каждый конкретный порт на конкретный порт прокси с авторизацией по логину и паролю.

Попробовал через 3proxy.

Порт 9999 работает и выдаёт ip сервера на ubuntu

Порты 10000 и 10001 не работают. Что я сделал неправильно?

За полдня пишется на Java и потом держит приличную нагрузку. Если приличная нагрузка не нужна, то пишется на питоне за час. Если нагрузка нужна неприличная, то тут уже раст и го и пара дней ковыряний, если раньше проксей не писали.

Sign up to leave a comment.

Articles