One of my ADF pipelines started failing recently where a Generic REST API Linked Service gave the following error:
525: SSL handshake failed
Digging deeper into the logs, I see a message from Cloudflare.
It appears that the SSL configuration used is not compatible with Cloudflare. This could happen for a several reasons, including no shared cipher suites.
HTTP/3 QUIC
There had been no code changes in ADF, but something on the source side had changed. After working with the data provider, it turns out that Cloudflare was using HTTP/3 which causes the ADF connection to fail.
There’s more information on HTTP/3 and QUIC here
Forcing HTTP/2 in ADF
To force the REST API connection over HTTP/2 instead of HTTP/3, the data provider advised me to specify TLS1.2 which is not supported on HTTP/3. How to do that? I asked on stack overflow and got a helpful answer back.
In the Linked Service, a new property was added EncryptionMethod=1
which forces TLS1.2, which forces HTTP/2.
Since specifying that property for this particular linked service, the problem has been fixed.