我在应用程序网关(ARM模板)后面配置了4个webapp:
当我直接进入dummyapiX.azurewebsites.de/servicehosts/dummyapiX时,我可以打开网络应用程序。
我希望路由以这种方式工作:当我去https://PIPofApplicationGateway/servicehosts/dummyapiX它应该重定向到
dummy API X.azure websites.的/service hosts/dummy API X
但Application Gateway始终重定向到默认后端池,因此我收到404错误。
我创建了自定义探针,指向:
后端健康显示所有人的健康状况。后端池指向webapps FQDN。用于探测器的httpsSettings和PickHostNameFromBackendHttpSettings的PickHostNameFromBackendAddress设置为true。 httpsSettings中未配置其他与路径相关的设置。
唯一基于路径的规则是:
有什么建议吗?可能是根本原因?
首先,您可以确认是否在Web应用程序设置中创建了虚拟目录。确保基于URL的规则映射到特定的后端池。使用侦听请求端口创建基本侦听器。创建并映射基于路径的规则并绑定到侦听器。从这个tutorial获取更多细节。
然后,您可以键入ipconfig /flushdns
以清除DNS缓存在命令提示符控制台中。再次验证它。
根本原因是在规则的路径中尾随“/”。
所以代替:
"/servicehosts/dummyapi1/*" to backendpooldummy1
"/servicehosts/dummyapi2/*" to backendpooldummy2
"/servicehosts/dummyapi3/*" to backendpooldummy3
应该是我的情况
"/servicehosts/dummyapi1*" to backendpooldummy1
"/servicehosts/dummyapi2*" to backendpooldummy2
"/servicehosts/dummyapi3*" to backendpooldummy3
现在一切正常