30 điểm bởi xguru 2022-03-15 | 7 bình luận | Chia sẻ qua WhatsApp
  • 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

 
nicewook 2022-03-21

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.

 
ngenius 2022-03-16

https://web.dev/i18n/ko/how-to-use-local-https/ Hóa ra cũng có một bài như thế này.

 
handohee 2022-03-15

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?

 
galadbran 2022-03-18

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.

 
ffdd270 2022-03-15

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...

 
handohee 2022-03-15

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 đủ.;;

 
kunggom 2022-03-15

Tham khảo thêm, trên Windows cũng có lệnh New-SelfSignedCertificate trong 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