คุณสามารถ "เริ่มทีละหนึ่งโดเมนย่อย" แต่คุณไม่สามารถจำกัดให้เปิดพอร์ต HTTPS 443 สำหรับโดเมนเสมือนบางส่วนได้หากคุณมี IP เดียวสำหรับทุกโดเมน
โฮสต์เสมือนตามชื่อให้บริการเว็บไซต์ต่างๆ ตามส่วนหัว HTTP ของโฮสต์ ตอนนี้คุณมี HTTP แล้ว เมื่อคุณพิมพ์ "example.com" ในเบราว์เซอร์ของคุณ มันจะเชื่อมต่อกับ IP ของคุณและเพิ่ม โฮสต์: example.com
ในส่วนหัวของคำขอด้วยวิธีนี้ เว็บเซิร์ฟเวอร์จะจับคู่โฮสต์เสมือนที่รู้จักหรือเพียงแค่จัดการเป็นโฮสต์เสมือนเริ่มต้นหากไม่รู้จัก (เช่น หากคุณพิมพ์ IP โดยตรงในเบราว์เซอร์ของคุณ)
ตอนนี้สำหรับส่วน HTTPS มันแตกต่างออกไปเล็กน้อย เนื่องจากต้องสร้างการเชื่อมต่อที่ปลอดภัย TLS ก่อนส่งส่วนหัว HTTP ดังนั้นเว็บเซิร์ฟเวอร์จึงไม่สามารถรู้ได้ว่าใบรับรองใดควรนำเสนอ ไม่ว่าจะเป็น example1.com หรือ example2.com (ตัวอย่าง) ย้อนกลับไปในสมัยก่อนนั่นหมายความว่าอนุญาตเว็บไซต์ HTTPS ที่ถูกต้องเพียงเว็บไซต์เดียวต่อ IP เท่านั้น (ใบรับรองหลายโดเมนก็ใช้งานได้ แต่ฉันจำไม่ได้ว่า CA ใดอนุญาต) เช่น. ไม่มีโฮสต์เสมือน แต่ก็ขอบคุณสำหรับ TLS SNI ส่วนขยายที่ทำงานคล้ายกับ HTTP ยกเว้นว่าแทนที่จะเป็นส่วนหัว HTTP ชื่อโดเมนจะถูกส่งผ่านในข้อมูลเซสชัน TLS
เมื่อพิจารณาถึงสิ่งนี้แล้ว เมื่อคุณเปิดใช้งาน SSL สำหรับเว็บไซต์หนึ่ง ตัวอย่าง 1.com
และสร้างใบรับรองหากคุณพิมพ์ https://example2.com
มันจะเปิดจริง ตัวอย่าง 1.com
เว็บไซต์ (เนื่องจากเป็นโฮสต์เสมือนเพียงโฮสต์เดียวสำหรับผู้ฟัง HTTPS) แต่เบราว์เซอร์จะบ่นว่าเว็บไซต์แสดงใบรับรองสำหรับโดเมนที่ไม่ถูกต้อง (เนื่องจากเว็บเซิร์ฟเวอร์ของคุณไม่มีทั้งใบรับรองสำหรับ example2.com และโฮสต์เสมือนสำหรับโดเมนดังกล่าว)
เพื่อหลีกเลี่ยงความสับสน เราขอแนะนำให้คุณทดสอบและเตรียมใบรับรองและการกำหนดค่าทั้งหมดสำหรับไซต์ของคุณก่อน จากนั้นเปิดใช้งานทั้งหมดพร้อมกัน อย่างน้อยถ้าคุณโฮสต์ทั้งหมดบน IP เดียวกัน หากคุณมี IP ที่แตกต่างกันสำหรับพวกเขา เราถือว่าคุณเข้าใจดีว่าคุณสามารถเปิดใช้งาน HTTP สำหรับแยกต่างหากตามข้อความด้านบน