通过https问题将IIS反向代理到Node.js应用

时间:2019-10-24 15:41:27

标签: node.js ssl iis

我正在构建由iis托管的nodejs api。它可以完美地在(使用端口5000)http上运行。但是,当尝试使用https连接时,如果失败(已安装ssl)。我收到连接失败消息或拒绝消息。

    <handlers accessPolicy="Read, Execute, Script" />
    <rewrite>
        <rules>
            <rule name="ReverseProxyInboundRule1" stopProcessing="true">
                <match url="(.*)" />
                <action type="Rewrite" url="http://localhost:5000/{R:1}" />
                <conditions>
                    <add input="{HTTPS}" pattern="off" />
                </conditions>
            </rule>
            <rule name="ReverseProxyInboundRule2" stopProcessing="true">
                <match url="(.*)" />
                <action type="Rewrite" url="http://api.mysite.com:5000/{R:1}" />
            </rule>
        </rules>
        <outboundRules>
            <preConditions>
                <preCondition name="ResponseIsHtml1">
                    <add input="{RESPONSE_CONTENT_TYPE}" pattern="^text/html" />
                </preCondition>
            </preConditions>
        </outboundRules>
    </rewrite>

似乎IIS拒绝了连接。任何帮助表示赞赏。

1 个答案:

答案 0 :(得分:0)

根据您的url重写规则,我发现您所有的https请求都将与ReverseProxyInboundRule2匹配并重写为“ http://api.mysite.com:5000”。我建议您首先检查一下是否可以访问“ http://api.mysite.com:5000”。

我想这个网址有问题。看来您没有在IIS绑定配置中绑定域。

我建议您可以尝试打开IIS Web应用程序绑定以为http://api.mysite.com添加域。

enter image description here