Як налаштувати ротацію проксі за допомогою HAProxy
Вступ
HAProxy — це потужний балансувальник навантаження, який можна використовувати для автоматичної ротації проксі. Він розподіляє запити між кількома вихідними проксі.
Базова конфігурація
Встановлення HAProxy
sudo apt install haproxy
Конфігурація ротації
Файл /etc/haproxy/haproxy.cfg:
frontend proxy_in
bind *:8080
default_backend proxy_pool
backend proxy_pool
balance roundrobin
option httpchk GET /
server proxy1 upstream1_ip:port check
server proxy2 upstream2_ip:port check
server proxy3 upstream3_ip:port check
Це налаштовує round-robin ротацію між трьома вихідними проксі з перевірками стану.
Алгоритми балансування навантаження
- roundrobin — послідовна ротація
- leastconn — до сервера з найменшою кількістю з'єднань
- random — випадковий вибір
- source — прив'язка до IP клієнта (sticky)
Розширена конфігурація
Змінні середовища
Більшість інструментів підтримують стандартні змінні середовища для проксі:
- HTTP_PROXY / http_proxy — проксі для HTTP запитів
- HTTPS_PROXY / https_proxy — проксі для HTTPS запитів
- NO_PROXY / no_proxy — список виключень (адреси, що обходять проксі)
- ALL_PROXY / all_proxy — проксі для всіх протоколів
SSL та самопідписані сертифікати
Корпоративні проксі часто використовують власні SSL-сертифікати. Щоб працювати через них, потрібно:
1. Отримати CA-сертифікат проксі від адміністратора
2. Додати його до системного сховища сертифікатів
3. Або відключити перевірку SSL (лише для тестування)
Автентифікація
Підтримуються два основні методи автентифікації:
За іменем користувача та паролем — стандартна HTTP Basic автентифікація. Облікові дані надсилаються з кожним запитом. Формат URL: http://user:pass@proxy_ip:port
За IP-адресою (білий список) — ваша IP-адреса додається до білого списку. Облікові дані надсилати не потрібно.
Перевірка
Після налаштування перевірте:
1. Виконайте тестовий запит через проксі
2. Переконайтеся, що IP-адреса змінилася
3. Перевірте швидкість з'єднання
4. Переконайтеся у відсутності витоків DNS
Усунення несправностей
Проксі не підключається
- Перевірте правильність адреси та порту
- Переконайтеся, що брандмауер не блокує з'єднання
- Перевірте доступність проксі з вашої мережі
Помилки SSL
- Для корпоративних проксі додайте CA-сертифікат
- Для тестування тимчасово відключіть перевірку SSL
- Оновіть бібліотеки SSL до останньої версії
Помилки автентифікації
- Перевірте ім'я користувача та пароль
- Переконайтеся у правильному форматі облікових даних
- Спробуйте URL-кодування спеціальних символів у паролі
Найкращі практики
- Використовуйте змінні середовища — для гнучкості та безпеки
- Не жорстко кодуйте облікові дані — використовуйте змінні середовища або файли конфігурації
- Налаштуйте виключення — не проксуйте localhost та внутрішні адреси
- Документуйте налаштування — у README проєкту або командній вікі
- Тестуйте після змін — будь-яка зміна конфігурації вимагає перевірки
Висновок
Правильна конфігурація проксі забезпечує стабільну роботу інструментів та безпеку з'єднання. Дотримуйтесь рекомендацій цього посібника та завжди перевіряйте функціональність після налаштування.