gpt4 book ai didi

azure - 在 Azure VM 上部署 Apisix 并在路由到应用服务时收到 404 错误

转载 作者:行者123 更新时间:2023-12-03 03:30:51 32 4
gpt4 key购买 nike

我已使用虚拟机和应用程序服务的专用端点。在虚拟机控制台中,使用域时可以,但使用私有(private)IP时失败。


$ curl https://myAppService..azurewebsites.net
{"result":"Hello World","code":200,"success":true}

$ curl http://10.0.5.5
....
<h1>404 Web Site not found.</h1>
<p>You may be seeing this error due to one of the reasons listed below :</p>
....

到目前为止我能理解。但是,我像下面一样设置 apisix 路由配置,并且也收到 404 错误。

{
"uri": "/test/*",
"name": "test",
"methods": [
"GET",
"POST",
"PUT",
"DELETE",
"PATCH",
"HEAD",
"OPTIONS",
"CONNECT",
"TRACE",
"PURGE"
],
"plugins": {
"cors": {
"allow_credential": false,
"allow_headers": "*",
"allow_methods": "*",
"allow_origins": "*",
"disable": false,
"expose_headers": "*",
"max_age": 5
},
"proxy-rewrite": {
"uri": "/"
}
},
"upstream": {
"nodes": [ <--------- Here
{
"host": "myAppService.azurewebsites.net",
"port": 443,
"weight": 1
}
],
"retries": 3,
"timeout": {
"connect": 6,
"send": 6,
"read": 6
},
"type": "roundrobin",
"scheme": "https",
"pass_host": "pass",
"keepalive_pool": {
"idle_timeout": 60,
"requests": 1000,
"size": 320
}
},
"status": 1
}

检查access.log后,我发现网关解析了主机,并使用 IP (10.0.5.5) 路由请求。

[14/Dec/2022:11:00:15 +0000] 20.212.162.118 "GET /test/123 HTTP/1.1" 404 2667 0.012 "-" "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/108.0.0.0 Safari/537.36 Edg/108.0.1462.46" 10.0.5.5:443 404 0.012 

有什么建议吗?

  1. 使用应用程序网关
  2. 将 Apisix 部署到 ACI。但我们的一些服务不被认为是容器化的。

我想正常路由...

最佳答案

在我发现问题与 Nginx 有关后,我终于找到了答案...

由于应用程序请求路由亲和性(ARR),需要将主机名设置为“使用节点列表中的域名或IP”。因此,Apisix 不会解析主机名,例如将 *.auzrewebsits.net 解析为 10.0.x.x,并且 ARR 可以正常工作。 enter image description here

万岁!!

关于azure - 在 Azure VM 上部署 Apisix 并在路由到应用服务时收到 404 错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/74797375/

32 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com