คุณใช้ https / SSL บน localhost ได้อย่างไร?


88

ฉันต้องการทราบวิธีตั้งค่า SSL บนเว็บแอปพลิเคชันของฉันบน localhost

ฉันไม่มีพื้นฐานในการทำสิ่งนี้จะขอคำแนะนำ ฉันติดตั้งแอปพลิเคชันเว็บของฉันเสร็จแล้วและฉันต้องการให้ใช้ https บน localhost หรือในขณะที่ฉันโฮสต์บนเซิร์ฟเวอร์

ความคิดใด ๆ ?

ความนับถือ.


ตรวจสอบโพสต์ที่คล้ายกัน: stackoverflow.com/questions/36037510/…
Pusker György

คำตอบ:


24

หากคุณมี IIS Express (พร้อม Visual Studio):

ในการเปิดใช้งาน SSL ภายใน IIS Express คุณต้องตั้งค่า“ SSL Enabled = true” ในหน้าต่างคุณสมบัติโครงการ

ดูขั้นตอนและรูปภาพได้ที่โครงการรหัสนี้

IIS Express จะสร้างใบรับรองให้คุณ (คุณจะได้รับพร้อมท์ ฯลฯ ) โปรดทราบว่าขึ้นอยู่กับการกำหนดค่าไซต์อาจยังคงเริ่มต้นด้วย URL โดยอัตโนมัติแทนที่จะเป็น URL SSL คุณสามารถดู URL SSL - จดหมายเลขพอร์ตและแทนที่ในแถบที่อยู่ของเบราว์เซอร์คุณจะสามารถเข้าสู่และทดสอบได้

จากนั้นคุณสามารถคลิกขวาที่โปรเจ็กต์ของคุณคลิกเพจคุณสมบัติจากนั้นเริ่มตัวเลือกและกำหนด URL เริ่มต้น - ใส่ https ใหม่ด้วยพอร์ตใหม่ (โดยปกติคือ 44301 - สังเกตความคล้ายคลึงกับพอร์ต 443) และโปรเจ็กต์ของคุณจะเริ่มต้นอย่างถูกต้องนับจากนั้น บน.

ป้อนคำอธิบายภาพที่นี่


ฉันสามารถเลือกพอร์ตได้หรือไม่? เช่นใช้พอร์ต https เริ่มต้น พอร์ต 443?
Red Pea

1
@TheRedPea ในทุกกรณีที่ฉันพบคุณจำเป็นต้องใช้พอร์ต 44301 เพื่อทดสอบภายในเครื่องแทนการใช้พอร์ต 443 สิ่งนี้จะไม่ส่งผลกระทบต่อพอร์ตที่คุณใช้สำหรับเซิร์ฟเวอร์สดของคุณ (ซึ่งคุณผูกไว้ใน IIS) ซึ่งเกือบตลอดเวลาจะเป็น 443 สมมติว่าคุณใช้ https
JackArbiter

21

การสร้างใบรับรองที่ลงนามด้วยตนเองนำเข้าและผูกเข้ากับเว็บไซต์ของคุณทำได้ง่าย

1. ) สร้างใบรับรองที่ลงนามด้วยตนเอง:

เรียกใช้คำสั่ง 4 คำสั่งต่อไปนี้ทีละคำสั่งจาก Command Prompt ที่ยกระดับ:

cd C:\Program Files (x86)\Windows Kits\8.1\bin\x64

makecert -r -n "CN=localhost" -b 01/01/2000 -e 01/01/2099 -eku 1.3.6.1.5.5.7.3.3 -sv localhost.pvk localhost.cer

cert2spc localhost.cer localhost.spc

pvk2pfx -pvk localhost.pvk -spc localhost.spc -pfx localhost.pfx

2. ) นำเข้าใบรับรองไปยังที่เก็บ Trusted Root Certification Authorities:

start -> run -> mmc.exe -> ปลั๊กอินใบรับรอง -> "Trusted Root Certification Authorities" -> ใบรับรอง

คลิกขวาที่ใบรับรอง -> งานทั้งหมด -> นำเข้าค้นหาใบรับรอง "localhost" ของคุณที่ C: \ Program Files (x86) \ Windows Kits \ 8.1 \ bin \ x64 \

3. ) ผูกใบรับรองกับเว็บไซต์:

start -> (IIS) Manager -> คลิกที่เซิร์ฟเวอร์ของคุณ -> คลิกที่ Sites -> คลิกที่ไซต์ระดับบนสุดของคุณ -> Bindings

เพิ่มหรือแก้ไขการเชื่อมโยงสำหรับ https และเลือกใบรับรอง SSL ที่เรียกว่า "localhost"

4. ) นำเข้าใบรับรองไปยัง Chrome:

การตั้งค่า Chrome -> จัดการใบรับรอง -> นำเข้าใบรับรอง. pfx จาก C: \ ใบรับรอง \ โฟลเดอร์

ทดสอบใบรับรองโดยเปิด Chrome และไปที่https: // localhost /


คุณจะรับไฟล์ที่คุณเพิ่งใช้ในคำสั่งได้makecertอย่างไร? localhost.pvk localhost.cer cert2spc localhost.cer localhost.spc. ฉันจะรับไฟล์ private.key เพื่อสร้างไฟล์ allinone.pem เพื่อใช้ในเว็บเซิร์ฟเวอร์อื่น ๆ จากนั้น IIS ได้อย่างไร

หากคุณไม่ต้องการนำเข้าใบรับรองไปยัง Chrome คุณสามารถเลือกปิดใช้งานคุณลักษณะความปลอดภัยของ Chrome ซึ่งบล็อกการเข้าถึงใบรับรองที่ลงนามด้วยตนเองบน localhost stackoverflow.com/a/31900210/2733283
Jason Williams

9

คำถามนี้เก่ามาก แต่ฉันเจอหน้านี้เมื่อฉันกำลังมองหาวิธีที่ง่ายและรวดเร็วที่สุดในการทำเช่นนี้ การใช้ Webpack นั้นง่ายกว่ามาก:

ติดตั้ง webpack-dev-server

npm i -g webpack-dev-server

เริ่ม webpack-dev-server ด้วย https

webpack-dev-server --https

2
สิ่งนี้จะให้บริการไฟล์ js ที่ประกอบเป็นแอปพลิเคชัน แต่ไม่ได้เรียกใช้แอปพลิเคชัน
user1944491

สามารถใช้ร่วมกับเซิร์ฟเวอร์ dev ที่มีอยู่เช่น XAMPP ได้หรือไม่
Prometheus
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.