Боюсь, вы не можете сделать это, используя обычную конфигурацию «RemoveServiceResponseHeaders» в ServiceFabric.Он удалит только те читатели, которые были получены из ответов вашей службы.
В Windows HttpGateway Service Fabric работает поверх HTTP.sys модуля ядра, который является ответственнымдля этого заголовка SF не имеет права голоса в этом.
Прежде чем идти дальше,
, если вы удаляете это по соображениям безопасности, вам следует переосмыслить использование встроенного ApplicationGateway, предоставленногопо SF, он будет предоставлять все ваши сервисы, и в настоящее время нет контроля над тем, какие сервисы предоставляются через него, я думаю, что риск выше, чем просто удаление заголовка сервера, поскольку он не предоставляет реального имени сервера.
Идем дальше,
Чтобы решить вашу проблему, у вас есть два варианта:
- Вы можете играть с HTTP.sys реестр настройки , чтобы удалить его на компьютере.
Вам потребуется добавить значение DisableServerHeader
DWORD в ключ реестра HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\HTTP\Parameters
и установить его значение на 2
.
Этот ключ управляет поведением http.sys в отношении добавления заголовка ответа http «Сервер» для ответов, отправляемых клиентам. Значение 0, которое является значением по умолчанию , будет использовать значение заголовка, которое приложение предоставляет http.sys, или добавит значение по умолчанию «Microsoft-HTTPAPI / 2.0» к заголовку ответа.Значение 1 не добавит заголовок «Сервер» для ответов, сгенерированных http.sys (ответы, заканчивающиеся на 400, 503 и другие коды состояния).Значение 2 не позволит http.sys добавлять заголовок «Server» в ответ.Если в ответе присутствует заголовок «Сервер», он не будет удален, если его нет, он не будет добавлен.
Пожалуйста, ознакомьтесь с этим ответом с подробной информацией о том, какдля этого: GET запрос к IIS возвращает Microsoft-HttpApi / 2.0
.
На основании приведенного выше описания заголовок ответа содержит «Microsoft-HTTPAPI / 2.0», поскольку значение по умолчанию равно 0, а исходный ответ не содержит заголовка сервера. Если вы укажете какое-либо значение, оно будет использоваться вместо этого.Кроме того, настройте SF так, чтобы он не удалял заголовок сервера из вашего ответа, задав для конфигурации RemoveServiceResponseHeaders только что-то вроде «Дата», поскольку по умолчанию «Дата; Сервер»