Реверс
Блок reverse настраивает звенья обратного туннеля: Bridge на стороне назначения ждёт управляющих соединений от Portal на входной стороне, а затем направляет пользовательский трафик через установленный туннель.
Верхний уровень
| Поле | Тип | По умолчанию | Допустимые значения | Описание |
|---|---|---|---|---|
bridges | []BridgeConfig | [] | Bridge | Мосты (Bridge), размещаемые на стороне назначения туннеля обратного прокси. |
portals | []PortalConfig | [] | Portal | Порталы (Portal), размещаемые на входной стороне туннеля обратного прокси. |
Исходный код: infra/conf/reverse.go:32-35 · зафиксировано на v26.7.28 (5ca6f4b)
Bridge
| Поле | Тип | По умолчанию | Допустимые значения | Описание |
|---|---|---|---|---|
tag | string | (required) | <tag> | Тег маршрутизации этого моста. |
domain | string | (required) | <domain> | Общий домен, по которому находится парный портал на другом конце. |
Исходный код: infra/conf/reverse.go:8-11 · зафиксировано на v26.7.28 (5ca6f4b)
Portal
| Поле | Тип | По умолчанию | Допустимые значения | Описание |
|---|---|---|---|---|
tag | string | (required) | <tag> | Тег маршрутизации этого портала. |
domain | string | (required) | <domain> | Общий домен, по которому выполняется привязка к парному мосту. |
Исходный код: infra/conf/reverse.go:20-23 · зафиксировано на v26.7.28 (5ca6f4b)
Набросок примера
json
// On the destination-side server (the one that can reach the internal target):
{
"reverse": {
"bridges": [{ "tag": "bridge", "domain": "tunnel.example.com" }]
},
"outbounds": [
{ "tag": "tunnel", "protocol": "freedom" }
]
}
// On the ingress server (the one users connect to):
{
"reverse": {
"portals": [{ "tag": "portal", "domain": "tunnel.example.com" }]
},
"outbounds": [
{ "tag": "portal-out", "protocol": "vless", "settings": { /* ... */ } }
]
}Примечания
- Значение
domainу моста и парного ему портала должно совпадать байт в байт. Xray использует его как внутреннее «имя встречи» — оно никогда не резолвится через DNS. - Обратные туннели — это пары тегов маршрутизации; правила маршрутизации на каждой стороне решают, какой трафик входит в туннель и выходит из него.
Исходный код: infra/conf/reverse.go:8-35 · v26.7.28 (5ca6f4b)
