Saat menanyakan URL CDN Sparkfun menggunakan OpenSSL dengan perintah berikut:
openssl s_client -showcerts -connect dlnmh9ip6v2uc.cloudfront.net:443
Nama umum yang dikembalikan dalam sertifikat adalah *.sparkfun.com
, yang gagal diverifikasi, tetapi jika Anda memuat host di Chrome, nama umum yang ditampilkan adalah*.cloudfront.net
Apa yang terjadi disini?
Ini menyebabkan masalah karena lingkungan saya dalam proxy SSL melalui Squid SSL_Bump, yang menghasilkan sertifikat yang ditandatangani oleh CA saya yang dipercaya secara lokal untuk domain tersebut. Ini berfungsi untuk semua domain tetapi di atas, karena CN tidak cocok karena sertifikat baru dihasilkan menggunakan OpenSSL.
EDIT - Saya telah memverifikasi hal yang sama terjadi dengan OpenSSL pada server di pusat data jarak jauh yang memiliki koneksi langsung ke internet tanpa melibatkan proxy atau penyaringan.
EDIT - Masalahnya adalah karena SNI, seperti yang diterima, tetapi untuk mengisi informasi mengapa hal itu menyebabkan masalah dengan Squid dan SSL_Bump:
Proyek ini tidak akan mendukung penerusan informasi SSL Nama Server (SNI) ke server asal dan akan membuat dukungan semacam itu menjadi sedikit lebih sulit. Namun, penerusan SNI memiliki tantangan serius sendiri (di luar ruang lingkup dokumen ini) yang jauh lebih besar daripada kesulitan penerusan tambahan.
Diambil dari: http://wiki.squid-cache.org/Features/BumpSslServerFirst
sumber
Chrome mendukung SNI , memberi tahu server sertifikat mana yang harus dikirim. The
s_client
perintah tidak.Ada detail lebih lanjut tentang penggunaan CloudFront tentang SNI di sini .
dan:
sumber
s_client
tidak mendukung CLI. Saya mengatakans_client
perintah (di OP) tidak.