server_config: 新增 UoT v2(UDP over TCP)支持
全节点(jp/us/ru/aq/hk2)已部署并实测通过(UoT DNS 端到端 ✅ + TCP 回归 ✅): - nginx 模板:map $request 识别 sing-box UoT v2 magic 地址 (sp.v2.udp-over-tcp.arpa)→ 127.0.0.1:15201;default_server 块加 proxy_connect_address;read/send timeout 10m - 新增 uot-relay/:Python 标准库 UoT v2 relay(connect/non-connect 双模式, 仅监听 127.0.0.1,空闲 9 分钟断开) - README 5.5 节:部署方法 + 客户端协议 + 四个实测坑 ($connect_host 未注册变量 / data_timeout 与 read_timeout 同槽 / CONNECT 恒落 default_server / 拒绝端口 0)
This commit is contained in:
@@ -16,6 +16,19 @@ http {
|
||||
default 0;
|
||||
"~^(10\.|127\.|169\.254\.|192\.168\.|172\.(1[6-9]|2[0-9]|3[01])\.)" 1;
|
||||
}
|
||||
|
||||
# UoT v2(UDP over TCP):CONNECT 目标为 sing-box UoT v2 magic 地址
|
||||
# (sp.v2.udp-over-tcp.arpa)时转发到本机 UoT relay(127.0.0.1:15201),
|
||||
# 其余 CONNECT 走默认解析($connect_addr)。
|
||||
# 注意(实测结论,勿踩坑):
|
||||
# 1. 必须用 $request 匹配——此模块版本未注册 $connect_host 变量;
|
||||
# 2. proxy_connect_address 必须放在 default_server 块——nginx 按 Host 头
|
||||
# 选虚拟主机,CONNECT 的 Host 是目标域名,永远落在 default_server;
|
||||
# 3. 客户端 CONNECT magic 地址时端口必须非 0(模块拒绝 port<1,返回 400)。
|
||||
map $request $rrpp_uot_connect_address {
|
||||
default $connect_addr;
|
||||
"~^CONNECT sp\.v2\.udp-over-tcp\.arpa" 127.0.0.1:15201;
|
||||
}
|
||||
include mime.types;
|
||||
default_type application/octet-stream;
|
||||
sendfile on;
|
||||
@@ -44,9 +57,12 @@ http {
|
||||
|
||||
proxy_connect;
|
||||
proxy_connect_allow all;
|
||||
proxy_connect_address $rrpp_uot_connect_address;
|
||||
proxy_connect_connect_timeout 60s;
|
||||
proxy_connect_read_timeout 120s;
|
||||
proxy_connect_send_timeout 120s;
|
||||
# 注:此模块版本 proxy_connect_data_timeout 与 proxy_connect_read_timeout
|
||||
# 写同一字段(同时配置报 duplicate),长连接超时用 read/send timeout 设置
|
||||
proxy_connect_read_timeout 10m;
|
||||
proxy_connect_send_timeout 10m;
|
||||
|
||||
location / {
|
||||
auth_basic off;
|
||||
@@ -92,9 +108,12 @@ http {
|
||||
|
||||
proxy_connect;
|
||||
proxy_connect_allow all;
|
||||
proxy_connect_address $rrpp_uot_connect_address;
|
||||
proxy_connect_connect_timeout 60s;
|
||||
proxy_connect_read_timeout 120s;
|
||||
proxy_connect_send_timeout 120s;
|
||||
# 注:此模块版本 proxy_connect_data_timeout 与 proxy_connect_read_timeout
|
||||
# 写同一字段(同时配置报 duplicate),长连接超时用 read/send timeout 设置
|
||||
proxy_connect_read_timeout 10m;
|
||||
proxy_connect_send_timeout 10m;
|
||||
|
||||
location / {
|
||||
auth_basic off;
|
||||
|
||||
Reference in New Issue
Block a user