如何从 Azure Functions 的 HTTP 响应中删除标准标头?

Posted

技术标签:

【中文标题】如何从 Azure Functions 的 HTTP 响应中删除标准标头?【英文标题】:How do you remove standard headers from the HTTP response of Azure Functions? 【发布时间】:2020-06-18 13:22:44 【问题描述】:

是否可以删除这些标头?

我有一个 .NET 解决方案,其中包含多个 Azure 函数,这些函数在调用它们时会在 HTTP 响应中显示所有标头信息。没有我可以添加的 web.base.config 类型文件 'removeServerHeader = true' 我以前在 ASP.NET 项目中用来解决这个问题。

但是,在我的 azure 函数解决方案中,只有一个 host.json 文件,我认为这不能用来做类似的事情。

我在 git repo here 中看到了解决此问题的方法,但我不确定如何实现它,因此删除了标头。

有人可以帮忙吗?或者指出我正确的方向。谢谢!

【问题讨论】:

您要删除哪些标头?因为在此修复中X-Powered-By 已被删除,并提供您的环境信息以供测试。 我想理想地删除服务器标头。我也不确定如何实施此修复,是否像将扩展安装到我的解决方案一样简单?谢谢。 另一个问题是我认为这个修复不适用于像我这样的消费计划中的天蓝色功能。 您在哪个 Function 版本上运行?我刚刚检查了一个 v3 函数,我什至没有在响应中看到服务器标头 感谢您的检查。我在 v1 上运行 - 也许解决方案是升级到 Azure Function v3,这也意味着将我的项目升级到 .NET Core。 【参考方案1】:

首先你链接的修复是关于ASP.NET version header,这是在函数v1中修复的,发布版本是v1.0.11510,所以你不会得到这个头。

然后是关于服务器头,是的,在我的测试中,我也将使用 v1 函数获得这个头 这是 fix detail ,它删除了 X-Powered-By 和服务器头,版本应该是 2.0.12493。所以实际上你不必使用 v3 功能,最新的 v2 功能已经删除了这些标头。

【讨论】:

以上是关于如何从 Azure Functions 的 HTTP 响应中删除标准标头?的主要内容,如果未能解决你的问题,请参考以下文章

如何从 Azure Functions 中的存储容器读取多个文件

如何从 Key Vault 自动映射 Azure Functions 机密

Azure Functions HTTP 触发器:如何将异常从 python 工作日志返回给 API 调用者

Azure Functions 2.0:如何从命令提示符启动项目并允许从其他计算机连接?

从 Azure Functions 使用 Google API

Azure Functions 2 - 如何控制json序列化设置