Estou executando um aplicativo HTML de uma única página no IIS 7.5. Eu estou tentando configurar um proxy reverso em um subdiretório para que eu possa fazer solicitações de mesmo domínio para minha API.
Então, eu quero que meu site se comporte assim
+ site/
| - index.html
| - app.js
| + api/ (reverse proxy to api server)
Infelizmente, estou sentindo falta de algo. Enquanto minhas regras de reescrita de proxy reverso parecem estar funcionando, meus pedidos para index.html não são. Recebo 500 Erros Internos do Servidor para qualquer coisa que esteja fora da regra de api / reescrita.
Aqui está o meu web.config:
<rewrite>
<outboundRules>
<rule name="ReverseProxyOutboundRule1" preCondition="" enabled="true">
<match filterByTags="A, Form, Img" pattern="^http(s)?://webserver/api/(.*)" />
<action type="Rewrite" value="http{R:1}://apiserver/{R:2}" />
</rule>
<preConditions>
<preCondition name="ResponseIsHtml1">
<add input="{RESPONSE_CONTENT_TYPE}" pattern="^text/html" />
</preCondition>
</preConditions>
</outboundRules>
<rules>
<rule name="ReverseProxyInboundRule1" enabled="true" stopProcessing="true">
<match url="api/(.*)" />
<action type="Rewrite" url="http://apiserver/{R:1}" />
</rule>
</rules>
</rewrite>
Quando eu ligo o diagnóstico de solicitação, vejo a mensagem de erro "Regras de reconfiguração de saída não podem ser aplicadas quando o conteúdo da resposta HTTP é codificado (" gzip ")." O que me leva a acreditar que minha regra de saída está correspondendo incorretamente a solicitações para index.html. Mas não consigo descobrir qual é o problema.
O que estou perdendo? Existe uma falha na minha abordagem?
Muito obrigado.
Tags reverse-proxy iis