我正在构建由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拒绝了连接。任何帮助表示赞赏。
答案 0 :(得分:0)
根据您的url重写规则,我发现您所有的https请求都将与ReverseProxyInboundRule2匹配并重写为“ http://api.mysite.com:5000”。我建议您首先检查一下是否可以访问“ http://api.mysite.com:5000”。
我想这个网址有问题。看来您没有在IIS绑定配置中绑定域。
我建议您可以尝试打开IIS Web应用程序绑定以为http://api.mysite.com添加域。