Совмещая Haproxy, Vless, WebSocket, VPN и сайт на одном порту

Haproxy, выступая в роли балансировщика нагрузки, позволяет на одном порту (443) разместить несколько сервисов: веб-сайт, VLESS (для VPN), WebSocket туннели и даже SSH. Это достигается путем анализа SNI (Server Name Indication) и путей в URL, что позволяет направлять трафик к соответствующим бэкендам. В статье предложена настройка, позволяющая перенаправлять запросы на http или https frontend, в зависимости от порта или SNI. Также есть возможность использовать прокси протокол v2 ssl cn для передачи информации о клиенте.
Совмещая Haproxy, Vless, WebSocket, VPN и сайт на одном порту
Изображение носит иллюстративный характер

Для туннелирования трафика через WebSocket используется wstunnel. На сервере создаются отдельные скрипты для WebSocket туннелей и для перенаправления DNS запросов, в которых задаются настройки, включая пути и порты. На клиенте устанавливается wstunnel, который перенаправляет трафик на локальный порт, после чего можно использовать этот локальный порт как socks5 прокси или для других целей. В примере настроены systemd-сервисы, управляющие wstunnel, для постоянной работы и автоматического перезапуска.

Для развертывания VLESS рекомендуется использовать X-UI панель, где необходимо настроить TLS с указанием SNI. VLESS трафик направляется через haproxy, с включенным PROXY протоколом для корректной передачи IP адреса клиента. Сайт на Apache или Nginx также размещается за Haproxy, и трафик к нему направляется на основе имени хоста. Безопасность обеспечивается за счет использования TLS 1.2/1.3, а также применения HSTS для принудительного использования HTTPS.


Новое на сайте

19521Банковский троян VENON на Rust атакует Бразилию с помощью девяти техник обхода защиты 19520Бонобо агрессивны не меньше шимпанзе, но всё решают самки 19519Почему 600-килограммовый зонд NASA падает на Землю из-за солнечной активности? 19518«Липовый календарь»: как расписание превращает работников в расходный материал 19517Вредоносные Rust-пакеты и ИИ-бот крадут секреты разработчиков через CI/CD-пайплайны 19516Как хакеры за 72 часа превратили npm-пакет в ключ от целого облака AWS 19515Как WebDAV-диск и поддельная капча помогают обойти антивирус? 19514Могут ли простые числа скрываться внутри чёрных дыр? 19513Метеорит пробил крышу дома в Германии — откуда взялся огненный шар над Европой? 19512Уязвимости LeakyLooker в Google Looker Studio открывали доступ к чужим базам данных 19511Почему тысячи серверов оказываются открытой дверью для хакеров, хотя могли бы ею не быть? 19510Как исследователи за четыре минуты заставили ИИ-браузер Perplexity Comet попасться на... 19509Может ли женщина без влагалища и шейки матки зачать ребёнка естественным путём? 19508Зачем учёные из Вены создали QR-код, который невозможно увидеть без электронного... 19507Девять уязвимостей CrackArmor позволяют получить root-доступ через модуль безопасности...
Ссылка