mirror of
https://github.com/XTLS/Xray-docs-next.git
synced 2026-10-07 14:28:03 +03:00
Sockopt: Add trustedXForwardedFor
This commit is contained in:
@@ -16,7 +16,7 @@ Sockopt используется для настройки низкоуровн
|
||||
// ...
|
||||
"streamSettings": {
|
||||
"sockopt": {
|
||||
// [!code focus:18]
|
||||
// [!code focus:19]
|
||||
"mark": 0,
|
||||
"tcpMaxSeg": 1440,
|
||||
"tcpFastOpen": false,
|
||||
@@ -25,6 +25,7 @@ Sockopt используется для настройки низкоуровн
|
||||
"happyEyeballs": {},
|
||||
"dialerProxy": "",
|
||||
"acceptProxyProtocol": false,
|
||||
"trustedXForwardedFor": [],
|
||||
"tcpKeepAliveInterval": 0,
|
||||
"tcpKeepAliveIdle": 300,
|
||||
"tcpUserTimeout": 10000,
|
||||
@@ -149,6 +150,29 @@ Sockopt используется для настройки низкоуровн
|
||||
|
||||
Если значение равно `true`, после установления TCP-соединения удаленная сторона обязана сразу отправить PROXY protocol v1 или v2, иначе соединение будет закрыто.
|
||||
|
||||
> `trustedXForwardedFor`: [ string ]
|
||||
|
||||
Применяется только к трем HTTP-ориентированным inbound: `XHTTP`, `WebSocket` и `HTTPUpgrade`.
|
||||
|
||||
Позволяет ограничить, в каких случаях Xray будет доверять заголовку `X-Forwarded-For` и использовать его для подмены `SourceIP`.
|
||||
|
||||
Если поле не задано, сохраняется старое поведение: если в запросе есть `X-Forwarded-For`, Xray его читает.
|
||||
|
||||
После настройки этого поля каждый элемент массива рассматривается как имя дополнительного заголовка, которое должно присутствовать в запросе. Xray будет доверять `X-Forwarded-For` только если в запросе есть хотя бы один из этих заголовков. Их значения не важны, проверяется только наличие самого ключа.
|
||||
|
||||
::: details Пример и сценарий использования
|
||||
|
||||
```json
|
||||
"sockopt": {
|
||||
"trustedXForwardedFor": ["ABCDEF", "XYZ"]
|
||||
}
|
||||
```
|
||||
|
||||
Это означает, что в запросе дополнительно должен присутствовать либо `ABCDEF`, либо `XYZ`, иначе Xray не примет `X-Forwarded-For` из этого же запроса как исходный IP-адрес.
|
||||
|
||||
На практике доверенный HTTP reverse proxy, например CDN или Nginx, может дополнительно подставлять специальный заголовок, известный только серверной стороне. Это помогает защититься от подделки исходного IP клиентом.
|
||||
:::
|
||||
|
||||
> `tcpKeepAliveIdle`: number
|
||||
|
||||
Порог простоя TCP в секундах. После такого времени бездействия начинают отправляться Keep-Alive пакеты.
|
||||
|
||||
Reference in New Issue
Block a user