โดยปกติแล้ว 1 public IP address (1 TCP port: TCP\443) จะติดตั้ง SSL certificate ได้แค่ใบเดียว เนื่องจากกระบวนการคุยของ HTTPS
1) TCP 3-way handcheck
2) SSL/TLS request
3) HTTP request
ซึ่งจะทำให้ web server ไม่ทราบว่า client ต้องการเช้าเวปไหน จึงจะส่ง certificate ได้แค่ 1 ใบเท่านั้น

แต่จากปัญหาดังกล่าวเมื่อใช้งานกับ web server ที่มีเวปไซต์ในเครื่องจำนวนมาก หรือที่ Apache เรียกว่า virtual host ก็จะมีเพียงเวปไซต์เดียวที่สามารถใช้งาน SSL ได้ ดังนั้นจึงมีการปรับปรุงขึ้นโดยเรียกว่า Server Name Indication (SNI) ซึ่งในขั้นตอนที่ 2 SSL/TLS request จะมีการส่ง host address เช่นเดียวกับ http/1.1 ในขั้นตอนก่อนที่ web server จะส่ง SSL certificate ซึ่งทำให้ web server ทราบได้ว่า client จะใช้เวปไซต์ไหน แล้วจึงเลือกส่ง SSL certificate ให้เหมาะกับ client นั้นๆ ได้

โดยในปัจจุบันทั้ง web server และ browser ก็สนับสนุนการทำงาน SNI กันหมดแล้วครับ

Advertisements