NodeJS HTTP错误502.2 - Bad Gateway IIS server,when try to hit backend API from Front end using URL rewrite

fjnneemd  于 2023-06-22  发布在  Node.js
关注(0)|答案(1)|浏览(86)

我有一个单独的前端应用程序和后端应用程序托管在IIS
前端应用端口为443(HTTPS)后端应用端口为444(HTTPS)在Nodejs中
当我尝试点击后端API https://localhost:444/apis/sample时,我能够得到响应
我在前端使用URL重写,当我试图打后端API从前端网站使用反向代理我得到这个错误
前端URL https://localhost/apis/sample

我使用IIS创建的自签名证书,用于将Nodejs后端设置为https

<rewrite>
        <rules>
            <rule name="ReverseProxyInboundRule1" enabled="true" stopProcessing="true">
                <match url="^(apis/)(.*)" />
                <action type="Rewrite" url="https://127.0.0.1:444/{R:0}" appendQueryString="true" logRewrittenUrl="true" />
            </rule>
            <rule name="Angular Refresh Routes" stopProcessing="true">
                <match url=".*" />
                <conditions logicalGrouping="MatchAll">
                    <add input="{REQUEST_FILENAME}" matchType="IsFile" negate="true" />
                    <add input="{REQUEST_FILENAME}" matchType="IsDirectory" negate="true" />
                </conditions>
                <action type="Rewrite" url="/" />
            </rule>
        </rules>
    </rewrite>
camsedfj

camsedfj1#

502.3错误的原因有很多,为了排除故障,可以通过netsh启用WinHTTP跟踪。运行此命令以启用跟踪:

netsh winhttp set tracing trace-file-prefix="C:\Temp\WinHttpLog" level=verbose format=hex state=enabled

然后回收应用程序池以开始日志记录。要禁用跟踪,请运行以下命令:

netsh winhttp set tracing state=disabled

您将在C:\Temp目录中找到一个名为WinHttpLog-w3wp.exe-<pid>.<datetime>.log的日志文件。打开此文件,您将能够看到ARR在生成要发送到内容节点的代理请求时提交给WinHTTP的内容的详细信息。您需要在此文件中搜索失败请求跟踪日志中提到的错误。
有关更多信息,您可以参考此链接:TROUBLESHOOTING ARR 502.3 ERRORS

相关问题