Hi guys! This seems like a very simple thing but this puzzles me a lot. I was trying to access my R2

Hi guys! This seems like a very simple thing but this puzzles me a lot. I was trying to access my R2 bucket using boto3 (using Ubuntu running inside Docker) but I received a TLS handshake error.

Long story short it seems OpenSSL is raising an alert number 40 if I don't specify Server Name Indication (SNI)

This is reflected using the openssl client
$ openssl s_client -connect <account_id>.r2.cloudflarestorage.com:443
CONNECTED(00000003)
407732BA387F0000:error:0A000410:SSL routines:ssl3_read_bytes:sslv3 alert handshake failure:../ssl/record/rec_layer_s3.c:1599:SSL alert number 40

But if I specify the SNI with
$ openssl s_client -connect <account_id>.r2.cloudflarestorage.com:443 -servername cloudflarestorage.com
CONNECTED(00000003)

Then there is not error.

Why should I present the servername and how should this be done with boto3?
Was this page helpful?