我正在寻找设置/故障排除配置的想法/建议,以允许我调试如下场景。我正在使用IIS 10,Visual Studio 2017
我有一个Web应用程序向第三方站点发布消息,然后第三方站点将响应发布回我的Web应用程序。IIS有一个反向代理(如下所示),可将第三方应用程序的发布内容定向到我的应用程序在IIS Express(VS 2017)中运行的IIS Express。
所有连接都使用SSL。IIS Express使用VS 2017附带的自签名证书。
通过反向代理从第三方应用调用IIS Express上运行的应用可以正常工作,直到我更改为使用SSL。(此解决方案需要SSL)。
url=“https://10.10.203.132:44349/{R:1}”-〉这是我的应用在VS 2017中运行的计算机。
现在我得到了一个502错误子代码3,我的应用程序从来没有被调用。在失败的请求跟踪中没有其他信息
有什么建议吗?
<configuration>
<system.webServer>
<rewrite>
<rules>
<rule name="Reverse Proxy" enabled="true" stopProcessing="true">
<match url="(.*)" />
<action type="Rewrite" url="https://10.10.203.132:44349/{R:1}" />
</rule>
</rules>
<outboundRules>
<rule name="Ensure samesite Cookies" preCondition="Missing samesite cookie">
<match serverVariable="RESPONSE_Set_Cookie" pattern=".*" negate="false" />
<action type="Rewrite" value="{R:0}; SameSite=None" />
</rule>
<preConditions>
<preCondition name="Missing samesite cookie">
<!-- Don't remove the first line here, it does do stuff! -->
<add input="{RESPONSE_Set_Cookie}" pattern="." />
<add input="{RESPONSE_Set_Cookie}" pattern="; SameSite=None" negate="true" />
</preCondition>
</preConditions>
</outboundRules>
</rewrite>
</system.webServer>
2条答案
按热度按时间yhqotfr81#
这里有另一个解决方案。
https://www.namecheap.com/support/knowledgebase/article.aspx/9953/38/iis-redirect-http-to-https
如果问题仍然存在,请随时告诉我。
iq3niunx2#
远端服务器可能启用了服务器名称标识(SNI),这可能会导致502.3问题,因为请求没有正确发出,因此请求失败。
你可以在你控制的服务器上测试,打开SNI,你的配置应该失败。关闭它,它应该成功。
远端服务器可能不需要SNI,但“只是因为”才打开它。它也可以让它的站点在自己的IP上运行,并禁用SNI。
我也见过配置IIS代理来正确处理SNI,但我从来没有这样做过。我留下这个作为参考:
https://techcommunity.microsoft.com/t5/iis-support-blog/arr-configuration-for-backend-sites-with-sni-binding-on-iis/ba-p/2658104