Bạn sử dụng https / SSL trên localhost như thế nào?


88

Tôi muốn biết cách thiết lập SSL trên ứng dụng web của mình trên máy chủ cục bộ.

Tôi không có nền tảng để làm điều này, sẽ bổ sung hướng dẫn. Tôi đã hoàn thành việc triển khai ứng dụng web của mình và tôi cần nó để sử dụng https trên máy chủ cục bộ hoặc trong khi tôi lưu trữ nó trên máy chủ.

Bất kỳ ý tưởng?

Trân trọng.


Kiểm tra bài đăng tương tự: stackoverflow.com/questions/36037510/…
Pusker György

Câu trả lời:


23

Nếu bạn có IIS Express (với Visual Studio):

Để bật SSL trong IIS Express, bạn chỉ cần đặt “SSL Enabled = true” trong cửa sổ thuộc tính dự án.

Xem các bước và hình ảnh tại dự án mã này .

IIS Express sẽ tạo chứng chỉ cho bạn (bạn sẽ được nhắc về chứng chỉ đó, v.v.). Lưu ý rằng tùy thuộc vào cấu hình, trang web vẫn có thể tự động bắt đầu bằng URL thay vì URL SSL. Bạn có thể thấy URL SSL - ghi lại số cổng và thay thế nó trong thanh địa chỉ trình duyệt của bạn, bạn sẽ có thể truy cập và kiểm tra.

Từ đó, bạn có thể nhấp chuột phải vào dự án của mình, nhấp vào các trang thuộc tính, sau đó bắt đầu các tùy chọn và chỉ định URL bắt đầu - đặt https mới với cổng mới (thường là 44301 - lưu ý sự tương tự với cổng 443) và dự án của bạn sẽ bắt đầu chính xác từ đó trên.

nhập mô tả hình ảnh ở đây


Tôi có thể chọn cổng? tức là sử dụng cổng https mặc định; cổng 443?
The Red Pea

1
@TheRedPea Trong mọi trường hợp tôi gặp, bạn cần sử dụng cổng 44301 để kiểm tra cục bộ thay vì sử dụng cổng 443. Điều này sẽ không ảnh hưởng đến các cổng bạn sử dụng cho máy chủ trực tiếp của mình (mà bạn liên kết trong IIS), hầu như sẽ luôn là 443 giả sử bạn đang sử dụng https.
JackArbiter

21

Thật dễ dàng để tạo một chứng chỉ tự ký, nhập nó và ràng buộc nó với trang web của bạn.

1.) Tạo chứng chỉ tự ký:

Chạy 4 lệnh sau, mỗi lần một lệnh, từ Dấu nhắc lệnh nâng cao:

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.) Nhập chứng chỉ vào cửa hàng của Tổ chức phát hành chứng chỉ gốc đáng tin cậy:

start -> run -> mmc.exe -> Plugin chứng chỉ -> "Tổ chức chứng nhận gốc đáng tin cậy" -> Chứng chỉ

Nhấp chuột phải vào Chứng chỉ -> Tất cả Công việc -> Nhập Tìm Chứng chỉ "localhost" của bạn tại C: \ Program Files (x86) \ Windows Kits \ 8.1 \ bin \ x64 \

3.) Liên kết chứng chỉ với trang web:

start -> (IIS) Manager -> Nhấp vào Máy chủ của bạn -> Nhấp vào Trang web -> Nhấp vào trang web cấp cao nhất của bạn -> Liên kết

Thêm hoặc chỉnh sửa ràng buộc cho https và chọn chứng chỉ SSL được gọi là "localhost".

4.) Nhập Chứng chỉ vào Chrome:

Cài đặt Chrome -> Quản lý chứng chỉ -> Nhập chứng chỉ .pfx từ thư mục C: \ certificate \

Kiểm tra chứng chỉ bằng cách mở Chrome và điều hướng đến https: // localhost /


Làm cách nào để lấy các tệp bạn vừa dùng trong lệnh makecert? localhost.pvk localhost.cer cert2spc localhost.cer localhost.spc. Làm cách nào để lấy tệp private.key để tạo tệp allinone.pem để sử dụng trong các máy chủ web khác sau đó IIS?

Nếu bạn không muốn nhập chứng chỉ vào Chrome, bạn có thể chọn tắt tính năng bảo mật của Chrome chặn quyền truy cập vào chứng chỉ tự ký trên localhost stackoverflow.com/a/31900210/2733283
Jason Williams

8

Câu hỏi này thực sự cũ, nhưng tôi đã xem trang này khi tôi đang tìm kiếm cách dễ nhất và nhanh nhất để thực hiện việc này. Sử dụng Webpack đơn giản hơn nhiều:

cài đặt webpack-dev-server

npm i -g webpack-dev-server

khởi động webpack-dev-server bằng https

webpack-dev-server --https

2
Điều này sẽ phục vụ các tệp js tạo nên ứng dụng, nhưng không chạy ứng dụng.
user1944491

Điều này có thể được sử dụng cùng với một máy chủ nhà phát triển hiện có như XAMPP không?
Prometheus
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.