Sent two requests to Target URL but capture only one response

ahmed
New Member

Hello Everyone,

I came across a odd scenario so thought ask for advise from community.

Components deployed are below:

API Gateway: Apigee Edge

Back-end: As a back-end service client is using Azure Functions (Server-less) with Required Client Certificate turned on. Which means, Apigee must present client cert before start transmission.

Everything works fine for requests (POST/PUT/DELETE) if body of request is less then 100kb, if request body is more then 100kb 2-WAY-TLS gets stuck and 504 (Gateway Timeout) is returned to consumer application. Packet capture shows following

Server Hello - completed

Client cert Send by Apigee to backend - completed

transmission continues and then a RESET packet is sent either from APIGEE after 57 seconds. This happens because of APIGEE timeout value is 57 s.

Now to a solution, its a known bug in Azure App service or Function Apps see this article (https://docs.microsoft.com/en-us/archive/blogs/waws/posting-a-large-file-can-fail-if-you-enable-clie...)

This bug is been around for years now, work around is also mentioned in the article.

What I want to configure is

once apigee receives consumer request it sends a empty call to perform TLS and then sent consumer requests and returns response?

is that possible with APIGEE Edge?

Thanks in Advance.

0 1 96
1 REPLY 1

Hi Ahmed, you could use a ServiceCallout in your request flow to send the empty call. You can set the Request element to accomodate either of the possible workaround mentioned in the article you mentioned (HEAD verb or set a header)