我们目前在天青的环境中正在努力解决问题。在当前的设置中,我们有一个连接到2个应用程序服务的应用程序网关。
我们已经天蓝色地调查了对该服务的调用,并看到了以下内容: 首先使用Good令牌重定向到网关: 其次,导致401错误的调用。如您所见,此调用不再具有令牌:
如果我们不通过网关,则可以使用相同的令牌连接到服务。当我们通过网关时,会出现“未经授权”错误。
应用程序网关设置如下: 一个侦听器和两个具有路径规则的后端池。 所有使用/ service1 / *的呼叫将转到第一个应用程序服务,而使用/ service2 / *的呼叫将转到第二个应用程序。
有人知道为什么身份验证失败以及如何解决吗? 如果需要更多信息,请问我 预先感谢。
答案 0 :(得分:0)
您是否在Application Gateway中启用WAF?
如果是,您是否可以通过启用日志来检查是什么规则阻止了此请求?
一旦您知道了为什么它会被阻止,就可以在WAF中启用排除功能,并以此使其起作用。
如果您有任何后续问题,请告诉我。
答案 1 :(得分:0)
只需要处理这个问题,然后找到一种解决它的方法。看来这是事件的顺序:
因此,您实际上确实有权访问授权标头,您只需要对此有所了解。我要做的是添加2条重写规则以将其恢复:
优先级99:将X-Auth-Token设置为{http_req_authorization}
优先级100:将授权设置为{http_req_x_auth_token}
这会将授权令牌重新播放。确保设置优先级,以便它们按此顺序运行,否则将无法正常工作。请注意,尝试执行仅将授权设置为{http_req_authorization}的规则似乎被视为无操作,并且已被跳过。因此,我在其中创建了临时的X-Auth-Token标头。