[通过https问题将IIS反向代理到nodejs应用

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了[通过https问题将IIS反向代理到nodejs应用相关的知识,希望对你有一定的参考价值。

我正在构建由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拒绝了连接。任何帮助表示赞赏。

答案

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

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

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

enter image description here

以上是关于[通过https问题将IIS反向代理到nodejs应用的主要内容,如果未能解决你的问题,请参考以下文章

在IIS7中使用ARR(Application Request Routing)反向代理虚拟目录到Nodejs站点

IIS 下 部署nodejs 使用反向代理

IIS反向代理/Rewrite/https卸载配置

CORS 使用带有 ARR 和 URL 重写的 IIS 作为反向代理

邮实战用IIS ARR配置反向代理

IIS实现反向代理