apisix icon indicating copy to clipboard operation
apisix copied to clipboard

bug: can not finding Route under subdomain mode

Open 0x101011 opened this issue 2 years ago • 5 comments

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 -V or nginx -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):

0x101011 avatar Jun 30 '23 03:06 0x101011

sorry, the Route Host is : oneta.api.amc.jsfund.cn
只是简单把测试环境的Route Copy了出来。 生产环境和测试环境基本一致。日志都是生产环境的。

0x101011 avatar Jun 30 '23 03:06 0x101011

@0x101011 Can you confirm that on the production Route, the host is oneta.api.amc.jsfund.cn and not oneta.api.amcdev.jsfund.cn ?

Revolyssup avatar Jun 30 '23 04:06 Revolyssup

@0x101011 Can you confirm that on the production Route, the host is oneta.api.amc.jsfund.cn and not oneta.api.amcdev.jsfund.cn ?

Yes Sir, I Confirmed that. I aspected that may be the update Route Info And is ETCD latency?

0x101011 avatar Jun 30 '23 05:06 0x101011

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

IMG_4489

Maybe the DNS parsing error.

0x101011 avatar Jul 06 '23 09:07 0x101011

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.

github-actions[bot] avatar Jun 20 '24 10:06 github-actions[bot]

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.

github-actions[bot] avatar Jul 04 '24 10:07 github-actions[bot]