You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
OpenResty / Nginx version (cmd: nginx -V or openresty -V):
nginx version: openresty/1.19.3.1
built by gcc 10.2.1 20201203 (Alpine 10.2.1_pre1)
built with OpenSSL 1.1.1k 25 Mar 2021
TLS SNI support enabled
etcd version, if have (cmd: run curl http://127.0.0.1:9090/v1/server_info to get the info from server-info API):
{"hostname":"845a20fd4211","id":"c3486945-9d97-4829-99ac-d9d6df6a9732","boot_time":1629105851,"etcd_version":"3.4.0","up_time":232296,"last_report_time":1629338105,"version":"2.8"}
apisix-dashboard version, if have: not installed
luarocks version, if the issue is about installation (cmd: luarocks --version):
/usr/local/openresty/luajit/bin/luarocks 3.7.0
LuaRocks main command-line interface
Steps to reproduce
The following scrips worked fine with ip address "10.3.4.105".
But after I used host name "xxxx.xxxxxx-xxxxx.xxxxxxx.com" which was setup by k8s-ingress and back-end service deployed by k8s, curl resulted with "404".
Usually, I add "server_names_hash_bucket_size 128" in nginx to resolve the same long host name, and this workes fine.
Issue description
bug: upstream proxy with long host name which was setup by k8s-ingress.
Environment
I used docker whole in one to install apisix gateway and etcd.
$ make build-all-in-one
$ docker run -v
pwd/all-in-one/apisix/config.yaml:/usr/local/apisix/conf/config.yaml -p 9080:9080 -p 9091:9091 -p 2379:2379 -d apache/apisix:wholeapisix version (cmd:
apisix version): 2.8OS (cmd:
uname -a): Linux 845a20fd4211 5.8.0-63-generic doc: maybe a mistake in architecture-design-cn.md #71~20.04.1-Ubuntu SMP Thu Jul 15 17:46:08 UTC 2021 x86_64 LinuxOpenResty / Nginx version (cmd:
nginx -Voropenresty -V):nginx version: openresty/1.19.3.1
built by gcc 10.2.1 20201203 (Alpine 10.2.1_pre1)
built with OpenSSL 1.1.1k 25 Mar 2021
TLS SNI support enabled
etcd version, if have (cmd: run
curl http://127.0.0.1:9090/v1/server_infoto get the info from server-info API):{"hostname":"845a20fd4211","id":"c3486945-9d97-4829-99ac-d9d6df6a9732","boot_time":1629105851,"etcd_version":"3.4.0","up_time":232296,"last_report_time":1629338105,"version":"2.8"}
apisix-dashboard version, if have: not installed
luarocks version, if the issue is about installation (cmd:
luarocks --version):/usr/local/openresty/luajit/bin/luarocks 3.7.0
LuaRocks main command-line interface
Steps to reproduce
The following scrips worked fine with ip address "10.3.4.105".
But after I used host name "xxxx.xxxxxx-xxxxx.xxxxxxx.com" which was setup by k8s-ingress and back-end service deployed by k8s, curl resulted with "404".
Usually, I add "server_names_hash_bucket_size 128" in nginx to resolve the same long host name, and this workes fine.
curl "http://127.0.0.1:9080/apisix/admin/upstreams/1" -H "X-API-KEY: edd1c9f034335f136f87ad84b625c8f1" -X PUT -d '
{
"type": "roundrobin",
"nodes": {
"10.3.4.105:8088": 1
}
}'
curl "http://127.0.0.1:9080/apisix/admin/routes/1" -H "X-API-KEY: edd1c9f034335f136f87ad84b625c8f1" -X PUT -d '
{
"uri": "/system/list",
"host": "10.3.4.105",
"upstream_id": "1"
}'
curl "http://127.0.0.1:9080/apisix/admin/routes/1" -H "X-API-KEY: edd1c9f034335f136f87ad84b625c8f1" -X PUT -d '
{
"uri": "/system/list",
"plugins": {
"proxy-rewrite": {
"regex_uri": ["^/system/(.*)", "/system/$1"]
}
},
"upstream_id": "1"
}'
curl http://127.0.0.1:9080/system/list
Actual result
after I used host name "xxxx.xxxxxx-xxxxx.xxxxxxx.com" which was setup by k8s-ingress, curl resulted with "404".
Error log
HTTP/1.1 404 Not Found
Content-Type: text/plain; charset=utf-8
Content-Length: 19
Connection: keep-alive
Vary: Accept-Encoding
X-Content-Type-Options: nosniff
Date: Thu, 19 Aug 2021 02:24:20 GMT
Server: APISIX/2.8
404 page not found
Expected result
same api result for both ip and long hostname.