My backend API is designed to save base 64 document data to pdf and it works without issue when hit directly from Postman. With large pdf files it will take up to ~2.5 minutes to complete.
When calling the same backend API from Azure APIM smaller files will go through without issue but requests with larger document data return a 502 error at 120 seconds.
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"/>
<title>502 - Web server received an invalid response while acting as a gateway or proxy server.</title>
<style type="text/css">
<!--
body{margin:0;font-size:.7em;font-family:Verdana, Arial, Helvetica, sans-serif;background:#EEEEEE;}
fieldset{padding:0 15px 10px 15px;}
h1{font-size:2.4em;margin:0;color:#FFF;}
h2{font-size:1.7em;margin:0;color:#CC0000;}
h3{font-size:1.2em;margin:10px 0 0 0;color:#000000;}
#header{width:96%;margin:0 0 0 0;padding:6px 2% 6px 2%;font-family:"trebuchet MS", Verdana, sans-serif;color:#FFF;
background-color:#555555;}
#content{margin:0 0 0 2%;position:relative;}
.content-container{background:#FFF;width:96%;margin-top:8px;padding:10px;position:relative;}
-->
</style>
</head>
<body>
<div id="header"><h1>Server Error</h1></div>
<div id="content">
<div class="content-container"><fieldset>
<h2>502 - Web server received an invalid response while acting as a gateway or proxy server.</h2>
<h3>There is a problem with the page you are looking for, and it cannot be displayed. When the Web server (while acting as a gateway or proxy) contacted the upstream content server, it received an invalid response from the content server.</h3>
</fieldset></div>
</div>
</body>
</html>
Even though the Azure endpoint is returning this error the backend API will eventually complete and the PDF file saves successfully. It seems that the timeout is occurring in Azure. I have tried increasing the forward request timeout but for some reason I'm still seeing requests fail right around the 2 minute mark. What could be causing this?
<policies>
<inbound>
<base />
</inbound>
<backend>
<forward-request timeout="500" />
</backend>
<outbound>
<base />
</outbound>
<on-error>
<base />
</on-error>
</policies>