Current Behavior
etcd data:
{
"scheme":"http",
"name":"safebox-esp-web_web-console-cns2waf_5009",
"desc":"Created by apisix-ingress-controller, DO NOT modify it manually",
"id":"a48bc649",
"update_time":1659003639,
"create_time":1659003457,
"nodes":[
{
"weight":100,
"priority":0,
"host":"2409:XXXX:XXXX:2000:0:1:afd:7d20",
"port":4009
},
{
"weight":100,
"priority":0,
"host":"2409:XXXX:XXXX:2000:0:1:afd:7d68",
"port":4009
}
],
"type":"roundrobin",
"labels":{
"managed-by":"apisix-ingress-controller"
},
"hash_on":"vars",
"pass_host":"pass"
}
Expected Behavior
No response
Error Logs
No response
Steps to Reproduce
I had modify /usr/local/apisix/apisix/schema_def.lua LINE 40
-- local host_def_pat = "^\\*?[0-9a-zA-Z-._]+$"
local host_def_pat = "^\\*?[0-9a-zA-Z-._\\[\\]:]+$"
AND /usr/local/apisix/apisix/balancer.lua LINE 294
local has_ipv6 = string.find(server.host, ":", 1, true)
if (has_ipv6 ~= nil) then
local is_ipv6_plus = string.find(server.host, "[", 1, true)
if (is_ipv6_plus == nil) then
server.host = "["..server.host.."]"
end
end
local ok, err = balancer.set_current_peer(server.host, server.port, pool_opt)
When upstream hosts count =1,its working;
But upstream hosts number >=2 ,error log:
2022/07/28 10:07:09 [error] 51#51: *13796 [lua] balancer.lua:370: run(): failed to set server peer [[2409:XXXX:XXXX:2000:0:1:afd:7d65:4009]:nil] err: invalid IPv6 address while connecting to upstream, client: 10.253.91.92, server: _, request: "GET /web-console-cnswaf/ HTTP/1.1", host: "xxx.xxx.com"
server.host = 2409:XXXX:XXXX:2000:0:1:afd:7d65:4009 (4009 is port)
server.port = nil
Environment
- APISIX version: 2.10.5uanme
- Operating system: CentOS 7 , Linux 4.19
- OpenResty version: 1.19.9.1
- etcd version, if relevant: 3.4.0
Current Behavior
etcd data:
Expected Behavior
No response
Error Logs
No response
Steps to Reproduce
I had modify /usr/local/apisix/apisix/schema_def.lua LINE 40
AND /usr/local/apisix/apisix/balancer.lua LINE 294
When upstream hosts count =1,its working;
But upstream hosts number >=2 ,error log:
server.host = 2409:XXXX:XXXX:2000:0:1:afd:7d65:4009 (4009 is port)
server.port = nil
Environment