首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何防止Set头策略在入站后执行?

问如何防止Set头策略在入站后执行?
EN

Stack Overflow用户
提问于 2022-01-27 02:36:04
回答 1查看 182关注 0票数 0

我正在构建一个Azure函数应用程序,它通过Azure管理公开。在被API管理重定向之前,我们需要知道URL的路径。我们目前正在通过使用入站策略在标头中设置原始URL来做到这一点,如下所示:

代码语言:javascript
复制
<policies>
<inbound>
    <base />
    <set-backend-service id="apim-generated-policy" backend-id="myfunctionapp" />
    <set-header name="x-original-url" exists-action="append">
        <value>@(context.Request.OriginalUrl.Path.ToString())</value>
    </set-header>
</inbound>
<backend>
    <base />
</backend>
<outbound>
    <base />
</outbound>
<on-error>
    <base />
</on-error>
</policies>

在API管理中测试API时,我可以看到头部被正确设置,但是在我的函数应用程序的日志中,头值在重定向之后被用请求URL覆盖(即/api/终结点而不是/api-manager/终结点)。

我猜这个策略在转到函数应用程序之后会再次被执行,但是我似乎不知道为什么。有没有人有这样做的经验,或有一个更好的解决方案发送原始的URL到函数应用程序,以便它可以被记录?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2022-02-18 22:59:55

贾斯汀·马修有权这么做。将标题名称更改为其他内容解决了问题。管道中的其他东西一定是试图使用相同的标头值。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/70872653

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档