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.
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)
User | Count |
---|---|
1 | |
1 | |
1 | |
1 | |
1 |