A configuração é a seguinte:
Windows Server 2022 Standard com IIS 10.
Aplicativo baseado em ASP .NET 4.8, executado com Integrated mode
e Application Pool Identity
.
Estou tentando remover os seguintes cabeçalhos:
Server
, X-Powered-By
, X-ASPNet-Version
, X-ASPNetMVC-Version
.
Não importa o que seja feito, os cabeçalhos permanecem.
Coisas tentadas:
Remover no nível do servidor do
RESPONSE HEADERS
cabeçalhoX-Powered-By
- sem efeito, ainda aparece no conteúdo dinâmico.Defina enableVersionHeader no arquivo de configuração applicationhost.config do servidor e no arquivo de configuração do aplicativo sem efeito:
<configuration>
<system.web>
<httpRuntime enableVersionHeader="false" />
</system.web>
</configuration>
- Definido no nível do servidor sem efeito:
<configuration>
<system.webServer>
<security>
<requestFiltering removeServerHeader="true" />
</security>
</system.webServer>
</configuration>
Defina o valor de registro DWORD DisableServerHeader como 1 e reinicie o IIS sem efeito:
HKLM\SYSTEM\CurrentControlSet\Services\HTTP\Parameters!DisableServerHeader
Tentei modificar
Global.asax
para remover o cabeçalho ASPNetMVC, mas isso quebrou o aplicativo.
Confirmei que as alterações no nível do servidor vão para o nível do site. Tentei configurar manualmente também no web.config no site. Mesmo efeito (nenhum).
O URL Scan não está mais disponível, então não é uma opção. A última opção parece ser usar o URL Rewrite, mas eu preferiria não usá-lo se possível, já que supostamente há soluções nativas para isso.
O que estou fazendo errado e há algo que não estou entendendo?
Esses tipos de Cabeçalhos podem ser adicionados no nível do Site ou no nível do IIS. Depois de clicar em Site no seu console do IIS, abra os cabeçalhos de Resposta HTTP, você deve ver a lista de cabeçalhos aqui junto com o Tipo de Entrada. Se o tipo de entrada for Herdado, isso significa que essa entrada ainda está no seu nível do IIS. Você pode validar isso no seu applicationhost.config.
Você pode removê-lo daqui ou do Console do IIS, depois de clicar no Servidor e abrir os cabeçalhos de Resposta HTTP, removê-lo e validar a resposta.
Parece que algo deu errado com o site ao longo do caminho. Eu o excluí e o criei novamente, o que de alguma forma resolveu o problema. O site
web.config
ainda estava absolutamente o mesmo, mas as alterações relacionadas ao cabeçalho começaram a funcionar. E não sei se não estou entendendo ou simplesmente não está funcionando da maneira que eu esperava, mas elesX-ASPNetMVC-Version
tiveram que ser colocados no arquivo de código-fonte do aplicativoGlobal.asax.cs
, não em um em tempo de execução (ou seja, após a construção/implantação). Obrigado pelas respostas e ajuda oferecidas.Acho que você pode editar o web.config que deve ser distribuído com seu aplicativo e adicionar as seguintes linhas: