Поддержка PROXY Protocol в TCP туннелях
В консольном клиенте tuna добавлена поддержка PROXY Protocol для TCP туннелей. Теперь вы можете передавать оригинальный IP-адрес и порт клиента напрямую вашему приложению.
$ tuna tcp 54321 --proxy-protocol=2
INFO[22:08:58] Welcome to Tuna
INFO[22:09:00] Forwarding tcp://ru.tuna.am:22347 -> 127.0.0.1:54321
Зачем нужен PROXY Protocol?
При использовании туннелей ваше приложение в идит подключения от туннельного сервера, а не от реального клиента. PROXY Protocol решает эту проблему — он передаёт оригинальный IP и порт клиента в заголовке соединения, что позволяет:
- Вести корректные логи подключений с реальными IP-адресами
- Применять правила контроля доступа на уровне приложения
- Собирать точную аналитику по географии пользователей
Новый флаг
В команде tuna tcp появился новый флаг --proxy-protocol, принимающий версию протокола:
| Значение | Формат | Описание |
|---|---|---|
1 | Текстовый | Человекочитаемый формат, легко отлаживать |
2 | Бинарный | Более эффективный, рекомендуемый для продакшена |
Примеры использования
Базовый пример
tuna tcp 8443 --proxy-protocol=1
# или с переменной окружения
TUNA_PROXY_PROTOCOL=1 tuna tcp 8443
Minecraft сервер
Некоторые сборки игровых серверов, например Velocity, поддерживают PROXY Protocol. Включите его в конфиге игры и в клиенте tuna:
tuna tcp 45678 --proxy-protocol=2
Совместимость
PROXY Protocol широко поддерживается популярным серверным ПО:
- Haproxy — поддерживает обе версии, определяет автоматически
- Nginx — поддерживает обе версии, определяет автоматически
- Envoy — поддерживает обе версии
- Многие базы данных и приложения через прокси-слой
Если вы не уверены какую версию выбрать — используйте версию 2. Бинарный формат эффективнее и является рекомендуемым в большинстве случаев.
Обновление
Для обновления следуйте инструкции.
Оставьте отзыв
Если вам нравится пользоваться Tuna, или наоборот вы недовольны чем либо, то пожалуйста оставьте отзыв.
Помощь
Мы ценим наших пользователей и детально изучаем все обращения, если у вас возникли проблемы с tuna – обязательно свяжитесь с нами одним из способов: