HTTPS và SSL là gì? Website an toàn hoạt động thế nào, giải thích đơn giản
HTTPS là phiên bản bảo mật của HTTP, giao thức mà trình duyệt dùng để giao tiếp với website. Nó bọc mọi yêu cầu và phản hồi trong một kết nối được mã hóa bằng TLS (Transport Layer Security), nên không ai nằm giữa người truy cập và website có thể đọc hoặc can thiệp vào dữ liệu được gửi đi. SSL là tên cũ của cùng ý tưởng này — giao thức gốc mà TLS đã thay thế — đó là lý do người ta vẫn nói “chứng chỉ SSL”.
Vì sao HTTPS quan trọng khi xây dựng với AI
Bất kỳ ứng dụng nào bạn xuất bản cũng nên được phục vụ qua HTTPS. Đó không chỉ là thực hành tốt:
- Trình duyệt yêu cầu điều đó. Trang dùng HTTP thường bị gắn nhãn “Không an toàn”, và một số tính năng trình duyệt — như truy cập vị trí, camera và micro, hay service worker cho ứng dụng chạy offline — thường chỉ hoạt động trên trang HTTPS.
- Đăng nhập và biểu mẫu. Nếu không có HTTPS, mật khẩu, cookie phiên và dữ liệu biểu mẫu được gửi đi dưới dạng văn bản đọc được. Bất kỳ ai dùng chung mạng Wi-Fi quán cà phê đều có thể thu thập chúng.
- Thanh toán và bên thứ ba. Các nhà cung cấp thanh toán, đăng nhập OAuth và nhiều API yêu cầu URL chuyển hướng và URL callback phải là HTTPS.
- Niềm tin và tìm kiếm. Người truy cập nhận ra cảnh báo, và Google đã nói rằng họ coi HTTPS là một tín hiệu xếp hạng.
Tin tốt là trên hầu hết nền tảng lưu trữ hiện đại, HTTPS được thiết lập tự động. Điều bạn cần chủ yếu là hiểu các thành phần đủ để sửa khi tên miền tùy chỉnh hoặc cảnh báo nội dung hỗn hợp gặp trục trặc.
Một ví von đời thường
Gửi dữ liệu qua HTTP thường giống như gửi bưu thiếp: mọi nhân viên bưu điện đi qua đều có thể đọc, và thậm chí có thể sửa nội dung.
HTTPS giống như gửi một phong bì kín, có dấu niêm phong nhận biết được khi bị mở — và trước đó kiểm tra giấy tờ tùy thân của người nhận. Chứng chỉ là giấy tờ tùy thân đó, do một bên được tin cậy (tổ chức cấp chứng chỉ) cấp sau khi xác nhận website thật sự kiểm soát tên miền. Mã hóa là chiếc phong bì kín. Giấy tờ chứng minh bạn đang gửi đúng địa chỉ; phong bì giữ nội dung được riêng tư.
HTTPS hoạt động thế nào, đơn giản
Khi trình duyệt mở https://shop.example.com:
- Chào hỏi. Trình duyệt kết nối và cho biết nó hỗ trợ những phương pháp mã hóa nào.
- Chứng chỉ. Máy chủ gửi chứng chỉ của mình, trong đó ghi “khóa này thuộc về
shop.example.com” và được ký bởi một tổ chức cấp chứng chỉ. - Kiểm tra. Trình duyệt xác minh chữ ký dựa trên các tổ chức mà nó đã tin cậy, kiểm tra chứng chỉ chưa hết hạn và tên miền khớp.
- Khóa. Trình duyệt và máy chủ thống nhất một khóa bí mật mới cho phiên này, mà không bao giờ gửi nó dưới dạng rõ ràng.
- Cuộc trò chuyện được mã hóa. Mọi yêu cầu và phản hồi — trang, dữ liệu biểu mẫu, cookie — giờ đều được truyền đi dưới dạng mã hóa.
Quá trình bắt tay TLS (TLS handshake) này mất vài phần nghìn giây và diễn ra tự động. Người truy cập chỉ thấy biểu tượng ổ khóa (hoặc, ở một số trình duyệt, một biểu tượng thông tin trang trung tính).
HTTPS bảo vệ gì và không bảo vệ gì
| Bảo vệ | Không bảo vệ |
|---|---|
| Dữ liệu truyền giữa trình duyệt và máy chủ | Dữ liệu khi đã nằm trên máy chủ hoặc trong cơ sở dữ liệu của bạn |
| Chống nghe lén trên Wi-Fi công cộng | Chống lại website độc hại hoặc lừa đảo |
| Chống việc ai đó sửa trang trên đường truyền | Chống lại lỗi trong ứng dụng, như thiếu kiểm tra quyền |
| Cookie và mật khẩu khi đang được gửi | Chống lại mật khẩu yếu hoặc khóa API bị rò rỉ |
HTTPS mã hóa nội dung của yêu cầu, bao gồm đường dẫn trang và chuỗi truy vấn. Nhưng tên miền bạn truy cập thường vẫn có thể thấy được đối với các mạng trên đường đi. Đó là một lý do để không bao giờ đặt dữ liệu cá nhân vào URL — chúng cũng sẽ nằm trong nhật ký và lịch sử trình duyệt.
Ví dụ thực tế: kết nối một tên miền tùy chỉnh
Giả sử bạn xuất bản một ứng dụng đặt lịch và muốn nó nằm tại book.myyogastudio.com:
- Bạn thêm một bản ghi DNS trỏ
book.myyogastudio.comtới nhà cung cấp lưu trữ. Xem cách tên miền và DNS hoạt động. - Nhà cung cấp chứng minh với một tổ chức cấp chứng chỉ rằng họ kiểm soát tên miền đó — thường bằng cách phản hồi một thử thách trên chính tên miền đó — và nhận được một chứng chỉ.
- Nhà cung cấp cài đặt và tự gia hạn chứng chỉ trước khi hết hạn. Chứng chỉ được thiết kế có thời hạn ngắn, nên gia hạn tự động rất quan trọng.
- Người truy cập
http://book.myyogastudio.comđược chuyển hướng sanghttps://.
Nếu bước 1 sai — bản ghi trỏ đi nơi khác, hoặc có một proxy nằm giữa — bước 2 có thể thất bại và người truy cập sẽ thấy lỗi chứng chỉ. Đó là sự cố HTTPS phổ biến nhất mà mọi người gặp khi kết nối tên miền tùy chỉnh.
Thuật ngữ quan trọng
| Thuật ngữ | Nghĩa |
|---|---|
| TLS | Transport Layer Security, giao thức mã hóa đằng sau HTTPS. |
| SSL | Secure Sockets Layer, tiền thân đã lỗi thời của TLS. Cái tên vẫn còn được dùng. |
| Chứng chỉ (Certificate) | Tệp có chữ ký liên kết một tên miền với một khóa công khai. |
| Tổ chức cấp chứng chỉ (CA) | Tổ chức mà trình duyệt tin cậy để cấp chứng chỉ, như Let's Encrypt. |
| Xác thực tên miền (DV) | Chứng chỉ chứng minh quyền kiểm soát tên miền — loại mà hầu hết website dùng. |
| Chứng chỉ wildcard | Bao phủ mọi tên miền con một cấp, như *.example.com. |
| Nội dung hỗn hợp (Mixed content) | Trang HTTPS tải một số tài nguyên qua HTTP thường. Trình duyệt chặn hoặc cảnh báo về điều này. |
| HSTS | Một header báo trình duyệt luôn dùng HTTPS cho website của bạn từ thời điểm đó trở đi. |
| Cổng 443 | Cổng tiêu chuẩn của HTTPS (HTTP dùng cổng 80). |
Những hiểu lầm thường gặp
- “Ổ khóa nghĩa là website đáng tin.” Nó chỉ nghĩa là kết nối riêng tư và tên miền khớp. Kẻ lừa đảo cũng có chứng chỉ.
- “HTTPS chỉ cần cho trang thanh toán.” Mọi trang có đăng nhập, biểu mẫu hay cookie đều cần nó — gần như mọi ứng dụng đều vậy. Cứ dùng nó ở mọi nơi.
- “Chứng chỉ rất đắt.” Chứng chỉ miễn phí và được tin cậy là chuẩn mực, và hầu hết nhà cung cấp lưu trữ tự quản lý chúng cho bạn.
- “HTTPS giúp ứng dụng của tôi an toàn.” Nó bảo vệ đường truyền. Ứng dụng của bạn vẫn cần kiểm tra quyền ở phía máy chủ, xử lý bí mật an toàn và kiểm tra dữ liệu đầu vào. Xem danh sách kiểm tra bảo mật cho ứng dụng do AI xây dựng.
- “HTTPS làm website chậm đi.” TLS hiện đại thêm rất ít chi phí, và các tính năng như HTTP/2 giúp website nhanh hơn thường yêu cầu HTTPS trong trình duyệt.
Khắc phục các sự cố HTTPS thường gặp
| Triệu chứng | Nguyên nhân có thể |
|---|---|
| “Kết nối của bạn không phải riêng tư” | Chứng chỉ không bao phủ đúng tên miền này, đã hết hạn, hoặc chưa được cấp |
Hoạt động với www. nhưng không hoạt động với tên miền gốc (hoặc ngược lại) | Chỉ một trong hai tên có DNS và chứng chỉ |
| Mất ổ khóa, “Không an toàn” trên một số trang | Nội dung hỗn hợp: một hình ảnh, script hoặc phông chữ được tải qua http:// |
| Lỗi chứng chỉ ngay sau khi kết nối tên miền | DNS vẫn đang lan truyền, hoặc một proxy phía trước chặn việc kiểm tra chứng chỉ |
Nên yêu cầu công cụ AI của bạn điều gì
- “Đảm bảo mọi hình ảnh, script và phông chữ được tải qua HTTPS hoặc dùng URL tương đối — không có liên kết
http://.” - “Chuyển hướng toàn bộ lưu lượng HTTP sang HTTPS.”
- “Đặt cookie phiên với cờ
SecurevàHttpOnly.” - “Dùng
https://cho mọi URL callback của OAuth, thanh toán và webhook.” - “Tên miền tùy chỉnh của tôi hiện lỗi chứng chỉ — nhà cung cấp mong đợi bản ghi DNS nào?”
HTTPS trong Mythex
Khi bạn kết nối một tên miền tùy chỉnh trên Mythex (tính năng dành cho gói Pro), bạn thêm một bản ghi CNAME trỏ tới địa chỉ slug.mythex.ai mà Mythex hiển thị, nhấp Verify, và Mythex tự động cấp HTTPS cho tên miền. Tài liệu đề cập hai vướng mắc phổ biến nhất: nếu DNS của bạn nằm trên Cloudflare, hãy đặt bản ghi ở chế độ “DNS only” (đám mây màu xám) thay vì proxied, để Mythex có thể cấp chứng chỉ; và DNS có thể xác minh trước khi HTTPS được thiết lập hoàn tất, nên hãy đợi vài phút rồi xác minh lại. Xem tên miền tùy chỉnh trong tài liệu và hướng dẫn của chúng tôi về kết nối tên miền tùy chỉnh.
Câu hỏi thường gặp
HTTP và HTTPS khác nhau thế nào?
HTTP gửi dữ liệu giữa trình duyệt và website dưới dạng văn bản đọc được. HTTPS là HTTP được gửi qua kết nối TLS mã hóa, nên những người trên cùng mạng hoặc dọc đường truyền không thể đọc hay thay đổi nội dung được gửi đi, và trình duyệt có thể kiểm tra rằng bạn đang giao tiếp với đúng trang web thật.
SSL và TLS có phải là một không?
TLS là phiên bản kế nhiệm hiện đại của SSL. Mọi phiên bản SSL đều đã lỗi thời và không an toàn; các website bảo mật ngày nay dùng TLS. Mọi người vẫn nói “chứng chỉ SSL” theo thói quen, nhưng chứng chỉ được dùng cùng với TLS.
Biểu tượng ổ khóa có nghĩa là website an toàn không?
Không. Ổ khóa nghĩa là kết nối được mã hóa và chứng chỉ khớp với tên miền. Một trang lừa đảo cũng có thể có chứng chỉ hợp lệ. Nó cho bạn biết không ai có thể nghe lén kết nối, chứ không cho biết chủ sở hữu trang có đáng tin hay không.
Tôi có phải trả tiền cho chứng chỉ SSL không?
Thường là không. Các tổ chức cấp chứng chỉ miễn phí, tự động như Let's Encrypt cấp chứng chỉ mà trình duyệt tin cậy, và hầu hết nền tảng lưu trữ tự lấy và gia hạn chứng chỉ cho bạn. Chứng chỉ trả phí chủ yếu bổ sung hỗ trợ hoặc các bước kiểm tra danh tính thêm.
Vì sao trang của tôi hiện “Không an toàn”?
Các nguyên nhân phổ biến là mở trang bằng http:// thay vì https://, chứng chỉ đã hết hạn hoặc không bao gồm đúng tên miền đó, hoặc trang tải hình ảnh hay script qua http:// thường (nội dung hỗn hợp, hay còn gọi là mixed content).