Комментарии 36
Рекомендую посмотреть на https://github.com/nadoo/glider
Текстовая консоль в виде скринов, да еще и в png?
По описанию создалось впечатление что это задача для чего-то типа 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 в контейнер (или сразу взять готовый контейнер), и понеслась.
Попробовал, но пока не получается его нормально настроить, как добью его сразу напишу статью
А зачем вам допы, тем более платные? ))
У меня безопы требуют наоборот отказаться от всех неиспользуемых модулей, а раз так - я вообще посматриваю не просто на тему удалить все сторонние модули, а вообще скомпилировать nginx с нуля со всеми нужными настройками и внести это в пайплайн, осталось лишь добраться и сделать. Материалы на хабре об этом есть ))
Данные нельзя хранить на промежуточном сервере, так как они слишком часто обновляются :(
"Слишком часто" - это несколько раз в секунду? Да и в этом случае странный выбор. Имхо для большинства сценариев подойдет демон, который опрашивает все "дома" и отдает уже готовый датасет. В противном случае Вы одним упавшим "домом" завалите всю кухню.
Звучит многообещающе
Ваша задача достаточно легко решается с использованием любого балансировщика, будь то 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
У Nginx есть модули для forward proxy и модули lua для обработки , ясно что на стандарте никто делать не будет, а будет собирать Nginx отдельно для этого
ну то есть вы предлагаете вместо того чтоб взять просто squid засесть за пересборку или вообще за программирование? ну так в принципе и хлеб напильником можно резать, да )
nginx и haproxy - НЕ балансировщики ) это reverse proxy. например, из важных функций балансировщика у nginx и haproxy нет возможности кластеризации, т.е. обеспечения отказоустойчивости - надо городить что-то с помщью другого софта типа keepalived, pacemaker и т.п.
F5 LTM, Citrix NetScaler, Kemp - это балансировщики.
Спасибо, а то я даже дар речи потерял )
кластер - это несколько узлов выполняющих одну задачу. бывают кластеры для повышения производительности общей системы (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 и потом держит приличную нагрузку. Если приличная нагрузка не нужна, то пишется на питоне за час. Если нагрузка нужна неприличная, то тут уже раст и го и пара дней ковыряний, если раньше проксей не писали.
От 3proxy до Nginx forward proxy через боль и страдания (Часть первая 3proxy)