Назад | Перейти на главную страницу

Обратный прокси-сервер Windows IIS для динамического порта сервера веб-сокетов

как вы можете видеть ниже, у меня есть 2 правила, которые в основном делают то же самое для серверов websocket. Есть ли возможность объединить эти 2 правила в одно общее правило, которое в то же время позволило бы добавить больше серверов websocket без добавления дополнительных правил. Что-то вроде "wss: //somerandomdomain.net: {PORT} (. *)" => "http: // localhost: {ПОРТ} / {R: 1} "?

<?xml version="1.0" encoding="UTF-8"?>
<configuration>
    <system.webServer>
        <rewrite>
            <outboundRules>
                <rule name="ReverseProxyOutboundRule1" preCondition="ResponseIsHtml1">
                    <match filterByTags="A, Form, Img" pattern="^http(s)?://localhost:8080/(.*)" />
                    <action type="Rewrite" value="http{R:1}://www.videolounge.net/{R:2}" />
                </rule>
                <preConditions>
                    <preCondition name="ResponseIsHtml1">
                        <add input="{RESPONSE_CONTENT_TYPE}" pattern="^text/html" />
                    </preCondition>
                </preConditions>
            </outboundRules>
            <rules>
                <rule name="Web Socket Reverse" enabled="true" stopProcessing="true">
                    <match url="wss://somerandomdomain.net:35000(.*)" />
                    <conditions logicalGrouping="MatchAll" trackAllCaptures="false">
                    </conditions>
                    <action type="Rewrite" url="http://localhost:35000/{R:1}" />
                </rule>
                <rule name="Web Socket Reverse 2" enabled="true" stopProcessing="true">
                    <match url="wss://somerandomdomain.net:35001(.*)" />
                    <conditions logicalGrouping="MatchAll" trackAllCaptures="false">
                    </conditions>
                    <action type="Rewrite" url="http://localhost:35001/{R:1}" />
                </rule>
                <rule name="Redirect to https" stopProcessing="true">
            <match url=".*" />
            <conditions>
                <add input="{HTTPS}" pattern="off" ignoreCase="true" />
            </conditions>
            <action type="Redirect" url="https://{HTTP_HOST}{REQUEST_URI}" redirectType="Permanent" appendQueryString="false" />
        </rule>
                <rule name="ReverseProxyInboundRule1" stopProcessing="true">
                    <match url="(.*)" />
                    <action type="Rewrite" url="http://localhost:8080/{R:1}" />
                </rule>
            </rules>
        </rewrite>
        <urlCompression doStaticCompression="false" doDynamicCompression="false" />
    </system.webServer>
</configuration>