Eu tenho um servidor IIS que hospeda vários sites e apis. Esses sites incluem instâncias de Confluence e Jira. Na verdade, esses produtos executam seus próprios servidores da Web para que os módulos Roteamento de Solicitação de Aplicativo e Reformulação de Url sejam usados para reverter solicitações de entrada de proxy a documents.example.com' and 'jira.example.com' to
localhost: 8080 and
localhost: 8090 '- onde as instâncias confluence e jira estão em execução. / p>
Agora estou tentando configurar um proxy reverso para uma pequena api (minio) de servidor de armazenamento simples (s3) - que está hospedada em localhost: 9000 - mas o protocolo s3 requer que o cabeçalho do host faça parte de sua mensagem Códigos de Autenticação.
No entanto, quando o Roteiro de Solicitação de Aplicativo redireciona uma solicitação seguindo uma regra de Regravação de URL, ele também reescreve o cabeçalho do host para refletir o novo cabeçalho de destino.
Isso pode ser desabilitado configurando system.webServer.proxy:preserveHostHeaders
, mas somente em ApplicationHost.config, pois o ARR executa o servidor, não o nível do site.
Então, agora eu tenho um dilema:
Se eu definir essa configuração, as APIs REST que usam o cabeçalho do host em seu MAC podem funcionar, mas o Confluence e o Jira como sua configuração de proxy reverso suportada esperam cabeçalhos de host reconfigurados.
Para referência, esses conjuntos permitem que cabeçalhos de host sejam preservados
%windir%\system32\inetsrv\appcmd.exe set config -section:system.webServer/proxy -preserveHostHeader:true /commit:apphost