- Vì sao nên dùng HTTPS ở môi trường cục bộ
- Để giống môi trường production nhiều nhất có thể
- Áp dụng các chính sách bảo mật nghiêm ngặt - Content Security Policy (CSP)
- Sử dụng một số tính năng trình duyệt nhất định như service worker, cookie Secure/Prefixed
- Dùng một tên host cụ thể thay vì localhost
- Sử dụng HTTPS ở môi trường cục bộ
- Tạo Self-Signed Certificate
→ Công cụ tốt nhất là OpenSSL, nhưng chỉ với mkcert đơn giản cũng đã đủ
→ Cài đặt local CA bằng mkcert -install và tạo khóa bằng mkcert localhost
- Tạo máy chủ HTTPS bằng Node.js sử dụng khóa localhost
7 bình luận
CFSSL thì sao nhỉ? Tôi cũng vẫn chỉ dùng OpenSSL thôi, nhưng trong cuốn sách tôi đọc gần đây có giới thiệu về CFSSL. Tôi khá tò mò về ưu nhược điểm hay phần so sánh giữa chúng.
https://web.dev/i18n/ko/how-to-use-local-https/ Hóa ra cũng có một bài như thế này.
Khi kiểm thử kết nối điện thoại thông minh với máy chủ cục bộ thì có vẻ HTTPS là bắt buộc,
nhưng trong trường hợp của tôi, nhiều khi đây là mạng cục bộ không có Internet
nên không thể dùng kiểu tunneling như ngrok.
Cách tạo chứng chỉ ở trên thì vẫn dùng được, nhưng quản lý không thật sự tiện.
Liệu có cách nào khác không?
Nếu máy phát triển chạy trên Windows, bạn có thể dựng một proxy như fiddler rồi đặt địa chỉ proxy của iPhone hoặc điện thoại Android thành địa chỉ truy cập của fiddler để áp dụng được file hosts của máy phát triển, v.v.
(Cần có bước cài chứng chỉ gốc tự ký của fiddler lên điện thoại)
Có vẻ cũng có thể làm tương tự bằng thứ như mitmproxy.
https://vi.news.hada.io/topic?id=6151
Tôi đã thử giải pháp này rồi. Thật sự rất hài lòng...
Tôi từng gặp vấn đề là trong môi trường cục bộ không có Internet thì không dùng được
ngrok,đồng thời do giới hạn băng thông nên cũng không thể kiểm thử đầy đủ.;;
Tham khảo thêm, trên Windows cũng có lệnh
New-SelfSignedCertificatetrong PowerShell, nên bạn có thể tạo chứng chỉ tự ký mà không cần cài thêm công cụ bên ngoài. Trước đây tôi cũng từng viết một script PowerShell để xuất file chứng chỉ bằng cách này và đã dùng nó.https://www.sysnet.pe.kr/2/0/12588