Configurando o proxy reverso do IIS para preservar cabeçalhos de host

1

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
    
por Chris Becke 24.10.2018 / 08:29

0 respostas