bug: can not finding Route under subdomain mode
Current Behavior
I Have a strange case that i do not make a sense:
I have one Route like this:
{
"uris": [
"/oneta/account/*",
"/oneta/product/*",
"/oneta/trade/*",
],
"name": "oneta-route",
"desc": "http://10.0.195.163:9090/路由",
"methods": [
"POST",
"GET"
],
"host": "oneta.api.amcdev.jsfund.cn",
"service_id": "298196916804636672",
"labels": {
"API_VERSION": "v1"
},
"status": 1
}
when i request to /oneta/product/* or /oneta/trade/* everything is OK when i request to /oneta/account/* it came an error : {404 ,route not found}
Expected Behavior
No response
Error Logs
Here is accesslog and errorlog
Access: 10.0.184.249 - - [29/Jun/2023:19:24:55 +0800] oneta.api.amc.jsfund.cn "POST /oneta/product/fund/query/all HTTP/1.1" 404 47 0.000 "-" "PostmanRuntime/3.0.5" - - - "http://oneta.api.amc.jsfund.cn/"
10.0.184.249 - - [29/Jun/2023:19:25:07 +0800] oneta.api.amc.jsfund.cn "POST /oneta/product/fund/query/all HTTP/1.1" 404 47 0.000 "-" "PostmanRuntime/3.0.5" - - - "http://oneta.api.amc.jsfund.cn/"
10.0.184.249 - - [29/Jun/2023:19:26:07 +0800] oneta.api.amc.jsfund.cn "POST /oneta/product/fund/query/all HTTP/1.1" 404 47 0.000 "-" "PostmanRuntime/3.0.5" - - - "http://oneta.api.amc.jsfund.cn/"
10.0.184.249 - - [29/Jun/2023:19:26:25 +0800] oneta.api.amc.jsfund.cn "POST /oneta/product/fund/query/all HTTP/1.1" 404 47 0.000 "-" "PostmanRuntime/3.0.5" - - - "http://oneta.api.amc.jsfund.cn/"
10.0.184.249 - - [29/Jun/2023:19:35:01 +0800] oneta.api.amc.jsfund.cn "POST /oneta/trade/request/query/condition/businesscodelist HTTP/1.1" 404 47 0.000 "-" "PostmanRuntime/3.0.5" - - - "http://oneta.api.amc.jsfund.cn/"
10.0.184.249 - - [29/Jun/2023:19:35:52 +0800] oneta.api.amc.jsfund.cn "POST /oneta/product/fund/query/all HTTP/1.1" 404 47 0.000 "-" "PostmanRuntime/3.0.5" - - - "http://oneta.api.amc.jsfund.cn/"
10.0.184.249 - - [29/Jun/2023:19:35:57 +0800] oneta.api.amc.jsfund.cn "POST /oneta/trade/request/query/condition/businesscodelist HTTP/1.1" 404 47 0.000 "-" "PostmanRuntime/3.0.5" - - - "http://oneta.api.amc.jsfund.cn/"
10.0.184.249 - - [29/Jun/2023:19:57:45 +0800] oneta.api.amc.jsfund.cn "POST /oneta/account/request/query/condition/businesscodelist HTTP/1.1" 404 47 0.000 "-" "PostmanRuntime/3.0.5" - - - "http://oneta.api.amc.jsfund.cn/"
10.0.184.249 - - [29/Jun/2023:19:57:57 +0800] oneta.api.amc.jsfund.cn "POST /oneta/trade/request/query/condition/businesscodelist HTTP/1.1" 404 47 0.000 "-" "PostmanRuntime/3.0.5" - - - "http://oneta.api.amc.jsfund.cn/"
10.0.184.249 - - [29/Jun/2023:20:07:58 +0800] oneta.api.amc.jsfund.cn "POST /oneta/account/request/query/condition/businesscodelist HTTP/1.1" 404 47 0.000 "-" "PostmanRuntime/3.0.5" - - - "http://oneta.api.amc.jsfund.cn/"
10.0.184.249 - - [29/Jun/2023:20:08:55 +0800] oneta.api.amc.jsfund.cn "POST /oneta/trade/request/query/condition/businesscodelist HTTP/1.1" 404 47 0.000 "-" "PostmanRuntime/3.0.5" - - - "http://oneta.api.amc.jsfund.cn/"
10.0.184.249 - - [30/Jun/2023:09:22:38 +0800] oneta.api.amc.jsfund.cn "POST /oneta/account/request/query/condition/businesscodelist HTTP/1.1" 404 47 0.000 "-" "PostmanRuntime/3.0.5" - - - "http://oneta.api.amc.jsfund.cn/"
10.0.184.249 - - [30/Jun/2023:09:23:23 +0800] oneta.api.amc.jsfund.cn "POST /oneta/trade/request/query/condition/businesscodelist HTTP/1.1" 200 98541249 19.994 "-" "PostmanRuntime/3.0.5" 10.0.183.118:80 200 14.110 "http://oneta.api.amc.jsfund.cn/"
10.0.184.249 - - [30/Jun/2023:09:26:26 +0800] oneta.api.amc.jsfund.cn "POST /oneta/product/fund/query/all HTTP/1.1" 200 27329 0.026 "-" "PostmanRuntime/3.0.5" 10.0.183.118:80 200 0.026 "http://oneta.api.amc.jsfund.cn/"
10.0.184.249 - - [30/Jun/2023:09:26:37 +0800] oneta.api.amc.jsfund.cn "POST /oneta/account/request/query/condition/businesscodelist HTTP/1.1" 404 47 0.000 "-" "PostmanRuntime/3.0.5" - - - "http://oneta.api.amc.jsfund.cn/"
10.0.184.249 - - [30/Jun/2023:09:27:49 +0800] oneta.api.amc.jsfund.cn "POST /oneta/trade/request/query/condition/businesscodelist HTTP/1.1" 200 56747653 15.704 "-" "PostmanRuntime/3.0.5" 10.0.183.118:80 200 12.455 "http://oneta.api.amc.jsfund.cn/"
10.0.184.249 - - [30/Jun/2023:09:32:34 +0800] oneta.api.amc.jsfund.cn "POST /oneta/account/request/query/condition/businesscodelist HTTP/1.1" 404 47 0.000 "-" "PostmanRuntime/3.0.5" - - - "http://oneta.api.amc.jsfund.cn/"
10.0.184.249 - - [30/Jun/2023:09:33:38 +0800] oneta.api.amc.jsfund.cn "POST /oneta/account/request/query/condition/businesscodelist HTTP/1.1" 404 47 0.000 "-" "PostmanRuntime/3.0.5" - - - "http://oneta.api.amc.jsfund.cn/"
10.0.184.249 - - [30/Jun/2023:09:51:58 +0800] oneta.api.amc.jsfund.cn "POST /oneta/account/request/query/condition/businesscodelist HTTP/1.1" 404 47 0.000 "-" "PostmanRuntime/3.0.5" - - - "http://oneta.api.amc.jsfund.cn/"
Error:
2023/06/30 09:27:33 [info] 20679#20679: *4008731 [lua] balancer.lua:384: run(): proxy request to 10.0.183.118:80 while connecting to upstream, client: 10.0.184.249, server: _, request: "POST /oneta/trade/request/query/condition/businesscodelist HTTP/1.1", host: "oneta.api.a
mc.jsfund.cn"
2023/06/30 09:27:45 [warn] 20679#20679: *4008731 an upstream response is buffered to a temporary file /usr/local/apisix/proxy_temp/2/00/0000000002 while reading upstream, client: 10.0.184.249, server: _, request: "POST /oneta/trade/request/query/condition/businesscodelist H
TTP/1.1", upstream: "http://10.0.183.118:80/oneta/trade/request/query/condition/businesscodelist", host: "oneta.api.amc.jsfund.cn"
2023/06/30 09:32:34 [info] 20678#20678: *4033782 [lua] radixtree_uri.lua:53: match(): route match mode: radixtree_uri, client: 10.0.184.249, server: _, request: "POST /oneta/account/request/query/condition/businesscodelist HTTP/1.1", host: "oneta.api.amc.jsfund.cn"
2023/06/30 09:32:34 [info] 20678#20678: *4033782 [lua] init.lua:567: http_access_phase(): not find any matched route, client: 10.0.184.249, server: _, request: "POST /oneta/account/request/query/condition/businesscodelist HTTP/1.1", host: "oneta.api.amc.jsfund.cn"
2023/06/30 09:33:38 [info] 20678#20678: *4038144 [lua] radixtree_uri.lua:53: match(): route match mode: radixtree_uri, client: 10.0.184.249, server: _, request: "POST /oneta/account/request/query/condition/businesscodelist HTTP/1.1", host: "oneta.api.amc.jsfund.cn"
2023/06/30 09:33:38 [info] 20678#20678: *4038144 [lua] init.lua:567: http_access_phase(): not find any matched route, client: 10.0.184.249, server: _, request: "POST /oneta/account/request/query/condition/businesscodelist HTTP/1.1", host: "oneta.api.amc.jsfund.cn"
2023/06/30 09:51:58 [info] 20681#20681: *4113107 [lua] radixtree_uri.lua:53: match(): route match mode: radixtree_uri, client: 10.0.184.249, server: _, request: "POST /oneta/account/request/query/condition/businesscodelist HTTP/1.1", host: "oneta.api.amc.jsfund.cn"
2023/06/30 09:51:58 [info] 20681#20681: *4113107 [lua] init.lua:567: http_access_phase(): not find any matched route, client: 10.0.184.249, server: _, request: "POST /oneta/account/request/query/condition/businesscodelist HTTP/1.1", host: "oneta.api.amc.jsfund.cn"
2023/06/30 10:19:24 [info] 20679#20679: *4180689 [lua] config_etcd.lua:390: sync_data(): res: {"body":{"node":[{"modifiedInd务","hash_on":"vars"},"createdIndex":13573,"key":"/apisix/upstreams/316959664321601536"}]},"headers":{"X-Etcd-Index":"13578"}}, err: nil, context: ngx"host":"10.0.183.118"}],"id":"316959664321601536","pass_host":"pass","name":"oneta-server","desc":"http://10.0.183.118:80æœ
.timer
2023/06/30 10:19:24 [info] 20678#20678: *4180703 [lua] config_etcd.lua:390: sync_data(): res: {"body":{"node":[{"modifiedInd务","hash_on":"vars"},"createdIndex":13573,"key":"/apisix/upstreams/316959664321601536"}]},"headers":{"X-Etcd-Index":"13578"}}, err: nil, context: ngx"host":"10.0.183.118"}],"id":"316959664321601536","pass_host":"pass","name":"oneta-server","desc":"http://10.0.183.118:80æœ
.timer
Steps to Reproduce
Look Up
Environment
- APISIX version (run
apisix version): 3.2 - Operating system (run
uname -a): Linux ZJ-AMC-Qt7oK 3.10.0-1160.62.1.e17.x86_64 #1 SMP GNU/Linux - OpenResty / Nginx version (run
openresty -Vornginx -V): nginx verison: OpenResty/1.21.4.1 - etcd version, if relevant (run
curl http://127.0.0.1:9090/v1/server_info): 3.5.0 - APISIX Dashboard version, if relevant:
- Plugin runner version, for issues related to plugin runners:
- LuaRocks version, for installation issues (run
luarocks --version):
sorry, the Route Host is : oneta.api.amc.jsfund.cn
只是简单把测试环境的Route Copy了出来。 生产环境和测试环境基本一致。日志都是生产环境的。
@0x101011 Can you confirm that on the production Route, the host is oneta.api.amc.jsfund.cn and not oneta.api.amcdev.jsfund.cn ?
@0x101011 Can you confirm that on the production Route, the host is
oneta.api.amc.jsfund.cnand notoneta.api.amcdev.jsfund.cn?
Yes Sir, I Confirmed that. I aspected that may be the update Route Info And is ETCD latency?
I Restart Apisix and it works.
My Case background Is :
I made a Register Center Application to Recording All Other App API MetaInfo which may come from Dubbo/Http/Grpc ,Register Center is used Apisix Admin API to control APISIX MetaData. such as Registry Create A Route Or Service Or Upstream. So its a North-South Apisix Gateway.
All Request is Https: https://subdomain.api.amc.jsfund.cn -> inner location ip or Http Host
I Find that my company CA SSL certificate that just contain one domain: [*.jsfund.cn] And I didnt use APISIX SNI function, I didnt config that , because before apisix we use Hardware F5/netscaller to solve certificate matters.
I find a apisix subdomain tips in
[ApacheApisix In Action] Book , Page 180
Maybe the DNS parsing error.
This issue has been marked as stale due to 350 days of inactivity. It will be closed in 2 weeks if no further activity occurs. If this issue is still relevant, please simply write any comment. Even if closed, you can still revive the issue at any time or discuss it on the [email protected] list. Thank you for your contributions.
This issue has been closed due to lack of activity. If you think that is incorrect, or the issue requires additional review, you can revive the issue at any time.