Pilihan sertifikat SSL berdasarkan host-header: apakah mungkin?


17

Apakah mungkin server web memilih sertifikat SSL untuk digunakan berdasarkan host-header koneksi yang masuk, atau apakah informasi itu hanya tersedia setelah koneksi SSL dibuat?

Yaitu, bisakah server web saya terdaftar di port 443 dan menggunakan sertifikat foo.com jika https://foo.com diminta, dan sertifikat bar.com jika https://bar.com diminta atau saya coba lakukan sesuatu yang mustahil karena server harus membuat koneksi SSL sebelum ia tahu apa yang diinginkan klien?

Jawaban:


23

Secara historis, pernyataan pertama Anda akurat. Sekarang, ada beberapa opsi:

  • Sertifikat wildcard jika subdomain dalam domain yang sama.
  • Sertifikat SAN / UCC untuk menentukan nama alternatif untuk sertifikat, sehingga dapat melayani beberapa sertifikat.
  • SNI diperkenalkan untuk membuat koneksi SSL setelah header Host. Namun, ini memiliki dukungan terbatas, karena lebih baru.

Ini telah dijawab berkali-kali di ServerFault oleh saya dan orang lain. Saya sarankan mencari detail lebih lanjut kecuali Anda memiliki pertanyaan spesifik.


4
Saya pergi mencari dan tidak dapat menemukan apa pun; ini mungkin salah satu dari hal-hal yang hanya mudah dicari jika Anda tahu jawabannya sehingga Anda dapat memasukkannya dalam istilah pencarian. Terima kasih.
DrStalker

3
Jika ada jawaban yang ada di ServerFault, alangkah baiknya untuk menautkannya.
organicveggie

serverfault.com/search , @organicveggie.
Warner

3
SNI tidak membangun koneksi SSL setelah header Host, tetapi menyertakan nama host di jabat tangan SSL. Bukan berarti itu penting jika Anda bukan pengembang SSL.
Bart van Heukelom

Mencari Serverfault memberikan ini sebagai jawabannya. Itu berarti bahwa pertanyaan lain secara kanonik adalah duplikat dari pertanyaan ini. Itu link yang Anda disertakan tidak memiliki hasil.
Ian Boyd


3

Jawaban singkat: tidak

HTTP dienkapsulasi di dalam SSL , sehingga informasi apa pun tentang permintaan tidak dapat diakses hingga koneksi telah dibuat. Oleh karena itu sampai sertifikat diberikan kepada klien. Tidak ada cara untuk menggunakan header atau info terenkripsi lainnya, karena masih belum tersedia.

EDIT: ini benar jika Anda ingin sekarang menjadi peramban silang dan sepenuhnya portabel. Seperti yang dikatakan oleh orang lain ada beberapa metode baru yang muncul memungkinkan dalam waktu dekat.


1

atau apakah informasi itu hanya tersedia setelah koneksi SSL dibuat?

Benar. Koneksi SSL dibuat sebelum setiap bagian dari permintaan HTTP (termasuk host header) dikirim.


2
Itu tidak lagi sepenuhnya akurat.
Warner
Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.