【发布时间】:2019-03-14 07:01:28
【问题描述】:
我有一个在 asp.net core 2.1/kestrel 上运行的无状态服务。该服务是通过 LB 和 SF Reverse Proxy 从外部保护和访问的。 Service Fabric 版本为 6.3.187.9494。
我需要从响应中完全删除服务器标头,通过操作 KestrelServerOptions.AddServerHeader 在服务本身中执行此操作没有问题,但似乎 ReverseProxy 添加了自己的服务标头,即 Microsoft -HTTPAPI/2.0.
这就是我检查的方式 - 我从它运行的节点向服务的端点发出请求,但我没有得到服务器标头。然后我做同样的事情,但通过反向代理,我回来了 - 服务器:Microsoft-HTTPAPI/2.0。
通过ApplicationGateway/Http 设置阅读,我发现了一个名为RemoveServiceResponseHeaders的属性 -
以分号/逗号分隔的响应标头列表 从服务响应中删除;在转发给客户之前。 如果设置为空字符串;传递由返回的所有标头 按原样服务。即不要覆盖日期和服务器
我已将那个设置为“日期;服务器”并更新了集群,但没有运气,因为我仍然得到那个服务器标头。
有什么建议吗?
【问题讨论】:
-
你可以尝试将其设置为空字符串吗?
-
@OlegKarasik 你的意思是 RemoveServiceResponseHeaders 属性?
-
是的。 (输入更多字符以达到 15 个限制)。
-
@OlegKarasik 一样
标签: azure azure-service-fabric asp.net-core-2.1 http.sys