Как настроить конфигурацию 3proxy для использования разных прокси-серверов в зависимости от URL-адреса?

Как можно сконфигурировать 3proxy таким образом, чтобы сервер использовал socks5 прокси на ip-адресе 1.2.3.4:8000 с разными правилами маршрутизации в зависимости от url?
  • 19 апреля 2024 г. 11:00
Ответы на вопрос 2
Чтобы сконфигурировать 3proxy для использования разных прокси-серверов в зависимости от URL-адреса, вам необходимо использовать функцию правил маршрутизации в файле конфигурации 3proxy.cfg. Ниже приведен пример конфигурации для использования socks5 прокси на ip-адресе 1.2.3.4:8000 с разными правилами маршрутизации в зависимости от URL:

1. Откройте файл конфигурации 3proxy.cfg с помощью текстового редактора.
2. Добавьте следующую конфигурацию:

proxy -p8000 -s1.2.3.4 -n
socks
auth strong
allow *

proxy -s0.0.0.0 -n
skip ip 1.2.3.4
allow *

route socks4
proxy -p8000 -s1.2.3.4
parent 0.0.0.0/0 -p8000

route google.com
parent 0.0.0.0/0
proxy -p8000 -s1.2.3.4

3. Сохраните и закройте файл конфигурации.
4. Перезапустите службу 3proxy для применения изменений.

Теперь ваш сервер будет использовать socks5 прокси на ip-адресе 1.2.3.4:8000 с разными правилами маршрутизации в зависимости от URL. В данном примере, все запросы к сайту google.com будут проходить через указанный прокси-сервер, а остальные запросы будут обрабатываться без проксирования. Вы можете настроить дополнительные правила маршрутизации в зависимости от ваших потребностей.
Так сделать не получится, потому что работает это следующим образом <br/> 1. HTTPS прокси не видит URI запроса, т.к. он идет внутри TLS соединения. Это можно решить через SSLPlugin, но все клиенты должны доверять сертификату прокси <br/> 2. socks5 не видит URI запроса, он ничего не знает про прикладной протокол, это можно решить перенаправлением в локальный http прокси <br/> 3. URI в 3proxy не участвует в установке исходящего соединения, это функции обратного прокси типа nginx + как минимум для https  на момент когда будет приходить URI соединение с родительским сервером уже будет установлено - это одним 3proxy решить не получится <br/> <br/> Если нужно именно SOCKSv5, то можно domain.com парентить из 3proxy в nginx, на нем терминировать TLS (если речь про https) и проксипасить по урлам
Похожие вопросы