
Instalé Tomcat como servidor de aplicaciones Java detrás de IIS. Usando las siguientes reglas puedo reescribir páginas estáticas sin problemas, pero, lamentablemente, las conexiones websocket nunca se establecen:
<?xml version="1.0" encoding="UTF-8"?>
<configuration>
<system.webServer>
<webSocket enable="false"/>
<rewrite>
<rules>
<rule name="Redirect HTTP to HTTPS" stopProcessing="true">
<match url="(.*)" />
<conditions logicalGrouping="MatchAll" trackAllCaptures="false">
<add input="{HTTPS}" pattern="^OFF$" />
</conditions>
<action type="Redirect" url="https://{HTTP_HOST}/foo/{R:1}" redirectType="SeeOther" />
</rule>
<rule name="Redirect from IIS to Tomcat" stopProcessing="true">
<match url="(.*)" />
<conditions logicalGrouping="MatchAll" trackAllCaptures="false">
<add input="{CACHE_URL}" pattern="^(.*)://" />
</conditions>
<action type="Rewrite" url="{C:1}://tomcat.contoso.com/foo/{R:1}" />
</rule>
</rules>
<outboundRules>
<rule name="Redirect from Tomcat to IIS" preCondition="ResponseIsHtml">
<match filterByTags="A, Form, Img" pattern="^(.*)://tomcat.contoso.com/foo/(.*)" />
<action type="Rewrite" value="{R:1}://apps.contoso.com/foo/{R:2}" />
</rule>
<preConditions>
<preCondition name="ResponseIsHtml">
<add input="{RESPONSE_CONTENT_TYPE}" pattern="^text/html" />
</preCondition>
</preConditions>
</outboundRules>
</rewrite>
</system.webServer>
</configuration>
¿Alguien tuvo éxito en esto? ¿La reescritura de URL admite incluso el proxy inverso de websockets (ws:// y wss://)?