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?
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?










