Azure API 应用抛出请求大小限制错误

Azure API App Throwing Request Size constraints Errors

我有一个示例 API 托管在 Azure API 应用程序中 https://epdpoc.azurewebsites.net/swagger/index.html 这是 API.NET 基于 Core 5.0 的 Web API。第二个参数,htmlText,作为查询字符串传递。查询字符串值如下

<table border="0" width="100%">
<tr>
<td width ="50%">&nbsp;</td>
<td width = "50%">&nbsp;</td>
</tr>
<tr><td colspan=2><font face="Arial" size="2" >
{{SALUTATION}}<br>

<font color="blue"><b>Attachments can be located below the Subject line or at the end of the email.  For the Policy or Endorsement documents, please follow the AEPEx process.</font></b><br><br>

Thank you for choosing Zurich. Providing high-quality insurance solutions to our customers is a priority we share, and we appreciate your trust and your business. <br><br>

We are pleased to inform you that any policies, endorsements or audits that are associated with the policy number(s) referenced below will be delivered by Aon via AEPEx <font color="blue"><b>(normally within two business days)</font></b>, per Aon's request. Please make sure that all Bridge headers have been updated to ensure that your document(s) is/are delivered to you, via AEPEx, as quickly as possible.<br><br>

<font color="blue"><b>AON has requested Zurich to not forward attachments that will be delivered via AEPEx.  If you have any questions concerning this policy, please contact your office AEPEx Champion.</font></b><br><br>

Please distribute a copy to the client along with all other relevant information.<br><br>

Our commitment does not stop here. We pride ourselves on helping customers protect what they value most, and that goal includes cultivating an effective and collaborative working relationship with you. We strive to exceed your expectations with personalized and responsive service. Should you have any questions or suggestions, do not hesitate to contact your Zurich International Service Representative listed below.<br><br>

We look forward to working together on behalf of our valued customers.<br><br>
</font></td></tr>

<tr><td align="left" valign="top"><font face="Arial" size="2"><b>
Customer Name:
</b></font></td>
<td valign="top" colspan=3><font face="Arial" size="2">
{{CUST_NM}}
</font></td></tr>

<tr><td align="left" valign="top"><font face="Arial" size="2"><b>
Policy Number(s)/Effective Date(s):
</b></font></td>
<td valign="top" colspan=3><font face="Arial" size="2">
{{POL_NUM}}
</font></td></tr>

<tr><td align="left" valign="top" colspan=4><font face="Arial" size="2"><b>
International Service Representative contact information:</b></font></td></tr>

<tr><td align="left" valign="top"><font face="Arial" size="2"></font></td>
<td align="left" valign="top"><font face="Arial" size="2" colspan=3>
{{UDW_ASSIST_NM}}<br>
{{UDW_ASSIST_PHONE}}<br>
{{UDW_ASSIST_EMAIL}}<br>
</font></td>
<td valign="top"><font face="Arial" size="2">
</font></td></tr>

</table>

<br><font face="Arial" size="2">
{{COMMENTS}}
</font><br>
<br>

<table width="100%" border="1">

<tr><td valign="top" width="50%"><font face="Arial" size="2" color="blue">
<b>Useful links for Brokers:</b><br><br>
<a href=https://www.zurichna.com/en/brokers>Zurich Broker Resource Center</a>
<br><br>
<a href=https://www.zurichna.com/>Zurich North America website</a>
<br><br>
<a href=https://www.zurichna.com/en/industries/international/largeintl>Zurich solutions for Large Multinational Global</a>
<br><br>
<a href=https://www.zurichna.com/en/brokers/appetites>Zurich appetite and contacts guide for Brokers</a>
<br><br>
</font></td>

<td valign="top" width="50%"><font face="Arial" size="2" color="blue">
<b>Useful links for Clients:</b><br><br>
<a href=https://www.zurichna.com/en/claims>Zurich Claims Website (with kits and reporting guide)</a>
<br><br>
<a href=https://www.zurichna.com/_/media/dbe/zna/docs/claims/zurich-accident-assistance-guide.pdf>Zurich accident assistance guide (driver kit)</a>
<br><br>
<a href=http://www.zurichna.com/en/risk>Zurich Risk Engineering</a><br><br>
<a href=https://esolutions.zurichna.com/s3/Boiler-Inspection-Request-System>Boiler inspection request online</a><br><br>
</font></td></tr>
</table>

我有一个 Web.Config 通过如下设置请求大小。

<?xml version="1.0" encoding="utf-8"?>
<configuration>
  <!-- To customize the asp.net core module uncomment and edit the following section. 
  For more info see https://go.microsoft.com/fwlink/?linkid=838655 -->
  <system.webServer>
    <handlers>
      <remove name="aspNetCore" />
      <add name="aspNetCore" path="*" verb="*" modules="AspNetCoreModuleV2" resourceType="Unspecified" />
    </handlers>
    <aspNetCore processPath="%LAUNCHER_PATH%" arguments="%LAUNCHER_ARGS%" stdoutLogEnabled="false" stdoutLogFile=".\logs\stdout" hostingModel="InProcess" />
    <security>
      <requestFiltering>
        <!-- This will handle requests up to 50MB -->
        ***<requestLimits maxAllowedContentLength="52428800" />***
      </requestFiltering>
    </security>
  </system.webServer>
</configuration>

我仍然收到来自 API 应用程序的请求大小限制错误,如下所示。

Verify the configuration/system.webServer/security/requestFiltering/requestLimits@maxQueryString setting in the applicationhost.config or web.config file.

这里有什么线索吗?还有其他设置吗?

  • 解决方法是更改​​ maxQueryString 设置(如果问题出在路径中,则更改 maxUrl)。为此,请修改 web.config 文件中的安全元素:

     <system.webServer>  
        <security>  
          <requestFiltering>  
            <requestLimits maxUrlLength="10999" maxQueryString="2097151"/>  
          </requestFiltering>  
        </security>  
      </system.webServer>
    
  • 在标签中设置 maxQueryStringLength 属性:

    <system.web> 
      <httpRuntime maxUrlLength="10999" maxQueryStringLength="2097151" enable="true"/> 
    </system.web>
    

maxQueryStringLength 默认为 2048。

:以上只是举例。根据您的要求设置值。

详情请参考Configuration Sample