ไม่ต้องสงสัยเลยว่านักพัฒนาและผู้ดูแลระบบไอทีจำเป็นต้องปรับใช้บางเว็บไซต์ผ่าน HTTPS โดยใช้ใบรับรอง SSL แม้ว่ากระบวนการนี้จะค่อนข้างตรงไปตรงมาสำหรับไซต์การผลิต แต่สำหรับวัตถุประสงค์ในการพัฒนาและการทดสอบคุณอาจพบว่าจำเป็นต้องใช้ใบรับรอง SSL ที่นี่เช่นกัน
เพื่อเป็นทางเลือกในการซื้อและต่ออายุใบรับรองรายปีคุณสามารถใช้ประโยชน์จากความสามารถของ Windows Server ในการสร้างใบรับรองที่ลงนามด้วยตนเองซึ่งสะดวกง่ายและควรตอบสนองความต้องการประเภทนี้อย่างสมบูรณ์แบบ
การสร้างใบรับรองที่ลงนามด้วยตนเองบน IIS
แม้ว่าจะมีหลายวิธีในการสร้างใบรับรองที่ลงนามด้วยตนเองเราจะใช้ยูทิลิตี้ SelfSSL จาก Microsoft น่าเสียดายที่สิ่งนี้ไม่ได้มาพร้อมกับ IIS แต่สามารถใช้งานได้ฟรีโดยเป็นส่วนหนึ่งของชุดเครื่องมือทรัพยากร IIS 6.0 (ลิงก์ที่อยู่ด้านล่างของบทความนี้) แม้จะมีชื่อว่า“ IIS 6.0” ยูทิลิตี้นี้ทำงานได้ดีใน IIS 7
สิ่งที่จำเป็นต้องมีคือการแตก IIS6RT เพื่อรับยูทิลิตี้ selfssl.exe จากที่นี่คุณสามารถคัดลอกไปยังไดเร็กทอรี Windows ของคุณหรือเส้นทางเครือข่าย / ไดรฟ์ USB เพื่อใช้ในเครื่องอื่นในอนาคต (คุณจึงไม่ต้องดาวน์โหลดและแตก IIS6RT แบบเต็ม)
เมื่อคุณมียูทิลิตี้ SelfSSL แล้วให้รันคำสั่งต่อไปนี้ (ในฐานะผู้ดูแลระบบ) แทนที่ค่าใน <> ตามความเหมาะสม:
selfssl / N: CN = <your.domain.com> / V: <จำนวนวันที่ใช้ได้>
ตัวอย่างด้านล่างสร้างใบรับรองตัวแทนที่ลงนามด้วยตนเองกับ“ mydomain.com” และกำหนดให้ใช้ได้เป็นเวลา 9,999 วัน นอกจากนี้เมื่อตอบว่าใช่สำหรับพร้อมต์ใบรับรองนี้จะได้รับการกำหนดค่าโดยอัตโนมัติให้ผูกกับพอร์ต 443 ภายในเว็บไซต์เริ่มต้นของ IIS
แม้ว่าในตอนนี้ใบรับรองจะพร้อมใช้งาน แต่ใบรับรองจะถูกเก็บไว้ในที่เก็บใบรับรองส่วนบุคคลบนเซิร์ฟเวอร์เท่านั้น เป็นแนวทางปฏิบัติที่ดีที่สุดในการตั้งค่าใบรับรองนี้ในรูทที่เชื่อถือได้เช่นกัน
ไปที่ Start> Run (หรือ Windows Key + R) แล้วป้อน“ mmc” คุณอาจได้รับพรอมต์ UAC ยอมรับและคอนโซลการจัดการที่ว่างเปล่าจะเปิดขึ้น
ในคอนโซลไปที่ File> Add / Remove Snap-in
เพิ่มใบรับรองจากด้านซ้าย
เลือกบัญชีคอมพิวเตอร์
เลือก Local computer
คลิกตกลงเพื่อดูที่เก็บใบรับรองภายในเครื่อง
ไปที่ Personal> Certificates และค้นหาใบรับรองที่คุณตั้งค่าโดยใช้ยูทิลิตี้ SelfSSL คลิกขวาที่ใบรับรองแล้วเลือกคัดลอก
ไปที่ Trusted Root Certification Authorities> Certificates คลิกขวาที่โฟลเดอร์ใบรับรองแล้วเลือกวาง
รายการสำหรับใบรับรอง SSL ควรปรากฏในรายการ
ณ จุดนี้เซิร์ฟเวอร์ของคุณไม่ควรมีปัญหาในการทำงานกับใบรับรองที่ลงนามด้วยตนเอง
การส่งออกใบรับรอง
หากคุณกำลังจะเข้าถึงไซต์ที่ใช้ใบรับรอง SSL ที่ลงนามด้วยตนเองบนเครื่องไคลเอ็นต์ใด ๆ (เช่นคอมพิวเตอร์ที่ไม่ใช่เซิร์ฟเวอร์) เพื่อหลีกเลี่ยงข้อผิดพลาดของใบรับรองที่อาจเกิดขึ้นและคำเตือนควรติดตั้งใบรับรองที่ลงนามด้วยตนเอง ในเครื่องไคลเอนต์แต่ละเครื่อง (ซึ่งเราจะพูดถึงในรายละเอียดด้านล่าง) ในการดำเนินการนี้ก่อนอื่นเราต้องส่งออกใบรับรองที่เกี่ยวข้องเพื่อให้สามารถติดตั้งบนไคลเอนต์ได้
ภายในคอนโซลที่โหลดการจัดการใบรับรองไปที่ Trusted Root Certification Authorities> Certificates ค้นหาใบรับรองคลิกขวาและเลือกงานทั้งหมด> ส่งออก
เมื่อได้รับแจ้งให้ส่งออกคีย์ส่วนตัวให้เลือกใช่ คลิกถัดไป
ปล่อยการเลือกเริ่มต้นสำหรับรูปแบบไฟล์แล้วคลิกถัดไป
ป้อนรหัสผ่าน สิ่งนี้จะใช้เพื่อปกป้องใบรับรองและผู้ใช้จะไม่สามารถนำเข้าภายในเครื่องได้โดยไม่ต้องป้อนรหัสผ่านนี้
ป้อนตำแหน่งเพื่อส่งออกไฟล์ใบรับรอง มันจะอยู่ในรูปแบบ PFX
ยืนยันการตั้งค่าของคุณแล้วคลิกเสร็จสิ้น
ไฟล์ PFX ที่ได้คือสิ่งที่จะติดตั้งลงในเครื่องไคลเอ็นต์ของคุณเพื่อบอกว่าใบรับรองที่ลงนามด้วยตนเองของคุณมาจากแหล่งที่เชื่อถือได้
การปรับใช้กับเครื่องไคลเอนต์
เมื่อคุณสร้างใบรับรองที่ฝั่งเซิร์ฟเวอร์และทุกอย่างทำงานได้แล้วคุณอาจสังเกตเห็นว่าเมื่อเครื่องไคลเอนต์เชื่อมต่อกับ URL ที่เกี่ยวข้องคำเตือนใบรับรองจะแสดง สิ่งนี้เกิดขึ้นเนื่องจากผู้ออกใบรับรอง (เซิร์ฟเวอร์ของคุณ) ไม่ใช่แหล่งที่เชื่อถือได้สำหรับใบรับรอง SSL บนไคลเอ็นต์
คุณสามารถคลิกผ่านคำเตือนและเข้าถึงไซต์ได้ แต่คุณอาจได้รับการแจ้งเตือนซ้ำในรูปแบบของแถบ URL ที่ไฮไลต์หรือคำเตือนใบรับรองซ้ำ เพื่อหลีกเลี่ยงความรำคาญนี้คุณต้องติดตั้งใบรับรองความปลอดภัย SSL ที่กำหนดเองบนเครื่องไคลเอนต์
ขึ้นอยู่กับเบราว์เซอร์ที่คุณใช้กระบวนการนี้อาจแตกต่างกันไป ทั้ง IE และ Chrome อ่านจากที่เก็บใบรับรองของ Windows อย่างไรก็ตาม Firefox มีวิธีการจัดการใบรับรองความปลอดภัยแบบกำหนดเอง
โน๊ตสำคัญ: คุณควร ไม่เคย ติดตั้งใบรับรองความปลอดภัยจากแหล่งที่ไม่รู้จัก ในทางปฏิบัติคุณควรติดตั้งใบรับรองในเครื่องเท่านั้นหากคุณสร้างขึ้น ไม่มีเว็บไซต์ที่ถูกต้องตามกฎหมายที่ต้องการให้คุณทำตามขั้นตอนเหล่านี้
Internet Explorer และ Google Chrome - การติดตั้งใบรับรองในเครื่อง
หมายเหตุ: แม้ว่า Firefox จะไม่ใช้ที่เก็บใบรับรองดั้งเดิมของ Windows แต่ก็ยังคงเป็นขั้นตอนที่แนะนำ
คัดลอกใบรับรองที่ส่งออกจากเซิร์ฟเวอร์ (ไฟล์ PFX) ไปยังเครื่องไคลเอ็นต์หรือตรวจสอบให้แน่ใจว่ามีอยู่ในเส้นทางเครือข่าย
เปิดการจัดการที่เก็บใบรับรองในเครื่องบนเครื่องไคลเอนต์โดยใช้ขั้นตอนเดียวกับข้างต้น ในที่สุดคุณจะจบลงบนหน้าจอเช่นเดียวกับด้านล่าง
ทางด้านซ้ายขยายใบรับรอง> Trusted Root Certification Authorities คลิกขวาที่โฟลเดอร์ใบรับรองและเลือกงานทั้งหมด> นำเข้า
เลือกใบรับรองที่คัดลอกไว้ในเครื่องของคุณ
ป้อนรหัสผ่านความปลอดภัยที่กำหนดเมื่อส่งออกใบรับรองจากเซิร์ฟเวอร์
ควรเติมร้านค้า“ Trusted Root Certification Authorities” เป็นปลายทาง คลิกถัดไป
ตรวจสอบการตั้งค่าแล้วคลิกเสร็จสิ้น
คุณควรเห็นข้อความแสดงความสำเร็จ
รีเฟรชมุมมองของโฟลเดอร์ Trusted Root Certification Authorities> Certificates และคุณจะเห็นใบรับรองที่ลงนามด้วยตนเองของเซิร์ฟเวอร์แสดงอยู่ในร้านค้า
คุณควรจะสามารถเรียกดูไซต์ HTTPS ที่ใช้ใบรับรองเหล่านี้และไม่ได้รับคำเตือนหรือการแจ้ง
Firefox - อนุญาตข้อยกเว้น
Firefox จัดการกระบวนการนี้แตกต่างกันเล็กน้อยเนื่องจากไม่ได้อ่านข้อมูลใบรับรองจาก Windows store แทนที่จะติดตั้งใบรับรอง (ตามข้อ) อนุญาตให้คุณกำหนดข้อยกเว้นสำหรับใบรับรอง SSL ในบางไซต์
เมื่อคุณเยี่ยมชมไซต์ที่มีข้อผิดพลาดของใบรับรองคุณจะได้รับคำเตือนเช่นเดียวกับด้านล่าง พื้นที่สีฟ้าจะตั้งชื่อ URL ตามลำดับที่คุณพยายามเข้าถึง หากต้องการสร้างข้อยกเว้นเพื่อข้ามคำเตือนนี้ใน URL ที่เกี่ยวข้องให้คลิกปุ่มเพิ่มข้อยกเว้น
ในกล่องโต้ตอบ Add Security Exception คลิกที่ Confirm Security Exception เพื่อกำหนดค่าข้อยกเว้นนี้ภายในเครื่อง
โปรดทราบว่าหากไซต์ใดไซต์หนึ่งเปลี่ยนเส้นทางไปยังโดเมนย่อยจากภายในคุณอาจได้รับข้อความแจ้งเตือนความปลอดภัยหลายรายการ (โดย URL จะแตกต่างกันเล็กน้อยในแต่ละครั้ง) เพิ่มข้อยกเว้นสำหรับ URL เหล่านั้นโดยใช้ขั้นตอนเดียวกับด้านบน
สรุป
ควรทำซ้ำการแจ้งเตือนข้างต้นที่คุณควรทำ ไม่เคย ติดตั้งใบรับรองความปลอดภัยจากแหล่งที่ไม่รู้จัก ในทางปฏิบัติคุณควรติดตั้งใบรับรองในเครื่องเท่านั้นหากคุณสร้างขึ้น ไม่มีเว็บไซต์ที่ถูกต้องตามกฎหมายที่ต้องการให้คุณทำตามขั้นตอนเหล่านี้
ลิงค์
ดาวน์โหลด IIS 6.0 Resource Toolkit (รวมถึงยูทิลิตี้ SelfSSL) จาก Microsoft