От 3proxy до Nginx forward proxy через боль и страдания (Часть первая 3proxy)

Моя цель - предложение широкого ассортимента товаров и услуг на постоянно высоком качестве обслуживания по самым выгодным ценам.

Не судите строго, это моя первая статья, наверное если бы я был гуру Nginx и "Линуха", то скорее всего боли и страданий бы не было.

С чего все началось?

Одним днем мне понадобилось реализовать довольно не тривиальную задачу:

Есть множество сервисов с которых нужно собирать данные для обработки и дальнейшей аналитики, модуль который это все собирает может быть установлен на множество серверов (пока 40, но в горизонте года это 1000), но хочется чтобы все обращения от этих серверов шли на один ip , а с него уже распределялись в зависимости от типа запроса или конечной точки обращения. Условно мы обращаемся к серваку 100.1.2.101 по порту 8080 и просим от него данные о всех домах на определенной территории ,он в свою очередь по заданному сценарию коннектится к определенному proxy (Допустим squid, он нужен так как некоторые api залочены по ip) и через него получает данные из конечного api.

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

В итоге я решил эту задачу разделить на несколько этапов

  1. Создать proxy сервер

  2. Создать возможность балансировки нагрузки (мне казалось ,что если получиться сделать proxy который будет принимать запрос и пересылать допустим на 300 других proxy, то уже пол дела будет готово)

  3. Создать логику выбора конкретного Proxy. (Я думал ,что это просто , я сильно ошибался , но об этом позже)

Этап 1: Создать proxy сервер (3proxy)

Для начала нужно смериться ,что мне нельзя использовать как ОС Windows, а в линухах я как макака с гранатой. После дня анализа мой выбор пал на 3proxy как на испытуемого и beget как VPS для места тестирования (Vps там стоит от 7р в день, что для тестов очень гуманно) и пак в 300 прокси на стороннем ресурсе, все они залочены на один ip (в инете их множество можете подобрать себе по карману, мне обошлось в 30$, адрес не скажу так как боюсь оно ляжет от хабраэффекта), ОС выбрал ubuntu 20.04 (просто под нее много материалов и статей) и MobaXterm для удобства подключения по SSH (скачать можно с оф сайта или всем известным способом

Источник: https://habr.com/ru/articles/742374/


Интересные статьи

Интересные статьи

В данной статей будет показано, как использовать библиотеку darttonconnect для быстрого создания авторизации и отправки транзакций для блокчейна TON. Таким образом можно быстро создавать кроссплатформ...
Данный перевод является второй частью перевода протокола безопасности транспортного уровня (TLS) версии 1.2 (RFC 5246). Первая часть перевода находится  здесь. Вторая часть перевода содержит опис...
С таким вопросом ко мне как то пришли коллеги. Периодически тошнит проксю по превышению клиенстких подключений и хотелось видеть список самых активных пользователей у ког...
Продолжаю публикацию решений отправленных на дорешивание машин с площадки HackTheBox. Надеюсь, что это поможет хоть кому-то развиваться в области ИБ. Подключение к л...
Привет, Хабр! Я Максим, бизнес-аналитик в Тинькофф. В этой статье я поделюсь опытом нашей команды: как выполнять в два раза больше задач, переписать с нуля легаси-проект и при этом не...