Bật HTTPS miễn phí bằng Let’s Encrypt trên DirectAdmin

HTTPS là ổ khoá trên thanh địa chỉ, và nay nó là mức tối thiểu: trình duyệt báo “không an toàn” với mọi trang không có nó. Trên hosting DirectAdmin, chứng chỉ miễn phí của Let’s Encrypt được cấp sẵn, phần lớn trường hợp quý Khách hàng không phải làm gì cả.

Bài này thay cho hai bài cũ, vì cách làm đã đổi hẳn.

1. Điều khác với các hướng dẫn cũ

Trước đây phải vào tự bật chứng chỉ cho từng tên miền. Bản DirectAdmin hiện nay tự cấp chứng chỉ: tạo một tên miền hoặc tên miền phụ xong, hệ thống tự xin chứng chỉ cho nó, và tự gia hạn trước khi hết hạn.

Nên việc của quý Khách hàng phần lớn chỉ là kiểm xem nó đã cấp được chưa, và xử lý khi nó báo không cấp được.

2. Đường vào

Account Manager → SSL/TLS Certificates.

Trang này có ba thẻ:

Thẻ Nội dung
Manage certificates Danh sách chứng chỉ và tên miền chưa có chứng chỉ
ACME settings Thiết lập việc tự cấp
Provisioning history Lịch sử các lần cấp, thành công và thất bại

3. Đọc trang Manage certificates

Certificate list liệt kê các chứng chỉ đang có:

Cột Nghĩa
Certificate Tên chứng chỉ
DNS Names Các tên miền mà chứng chỉ này phủ
Validity Còn hiệu lực hay không
Expires Ngày hết hạn
Renewal mode Chế độ gia hạn. Để tự động

Bên dưới là DNS names without TLS certificate: các tên miền chưa có chứng chỉ. Danh sách này nên rỗng. Có tên trong đó nghĩa là tên miền đó đang chạy không có HTTPS.

Thấp hơn nữa là Automatic certificate provisioning, phần nói hệ thống đã tự cấp được tới đâu.

4. Khi hệ thống báo không cấp được

Phần FAILED HTTP CHECKS liệt kê các tên miền không xin được chứng chỉ, kèm lý do. Nguyên văn giải thích của DirectAdmin:

Không xin được chứng chỉ tự động cho các tên này vì yêu cầu HTTP không tới được máy chủ này.

Ba nguyên nhân, theo thứ tự hay gặp:

a. Tên miền chưa trỏ về máy chủ này

Let’s Encrypt xác thực bằng cách gọi vào tên miền qua cổng 80 và kiểm một tệp mà máy chủ đặt ra. Tên miền chưa trỏ về đúng máy chủ thì lời gọi đó tới chỗ khác.

Kiểm:

# Dia chi ma ten mien dang tro toi
dig +short A <ten-mien-cua-ban>

Trên Windows: nslookup <ten-mien-cua-ban>.

Kết quả phải là địa chỉ IP của hosting. Lệch là phải sửa ở nơi quản lý tên miền, rồi chờ cập nhật, rồi thử lại.

b. Tên miền mới trỏ, chưa kịp lan ra

Đổi bản ghi DNS xong, các máy chủ trên Internet cần thời gian cập nhật, thường vài phút tới vài giờ.

Chờ rồi thử lại. Đừng bấm xin lại liên tục, xem mục 6.

c. Cổng 80 bị chặn, hoặc website chuyển hướng sai

Let’s Encrypt luôn gọi vào cổng 80, kể cả khi website chỉ chạy trên 443. Một quy tắc chuyển hướng quá rộng trong .htaccess có thể chặn luôn đường dẫn mà Let’s Encrypt dùng để xác thực.

Đường dẫn đó là /.well-known/acme-challenge/. Quy tắc chuyển hướng cần cho đường dẫn này đi qua trước khi chuyển mọi thứ còn lại sang HTTPS.

5. Xin chứng chỉ bằng tay

Với tên miền nằm trong danh sách chưa có chứng chỉ, bấm vào dấu ba chấm ở cuối dòng để xin cấp.

Khi xin, nhớ chọn cả tên miền có www và không có www, và nếu dùng hộp thư thì chọn cả mail.<ten-mien>. Thiếu mail. là phần mềm thư trên máy tính sẽ cảnh báo chứng chỉ không hợp lệ mỗi lần mở.

6. Giới hạn số lần xin, và vì sao đừng thử lại liên tục

Let’s Encrypt giới hạn số chứng chỉ cấp cho một tên miền trong một tuần.

Thử lại liên tục khi đang có lỗi là cách nhanh nhất để chạm giới hạn đó. Chạm rồi thì phải chờ hết chu kỳ, và trong lúc đó không xin được chứng chỉ nữa kể cả khi đã sửa đúng nguyên nhân.

Nên: lỗi thì đọc lý do ở phần FAILED HTTP CHECKS, sửa nguyên nhân, rồi mới thử lại một lần.

7. Sau khi có chứng chỉ

Bắt buộc chuyển hướng sang HTTPS. Có chứng chỉ nhưng vẫn vào được bằng http:// nghĩa là một phần người đọc vẫn đi đường không mã hoá.

Phần lớn phần mềm website có sẵn tuỳ chọn này. Với WordPress, đặt địa chỉ trang trong phần cài đặt sang https:// là đủ cho hầu hết trường hợp.

Kiểm lại nội dung lẫn lộn. Trang chạy HTTPS mà còn gọi ảnh hay mã lệnh qua http:// thì trình duyệt vẫn báo không an toàn. Nhấn F12, mở thẻ Console, các cảnh báo “mixed content” chỉ thẳng ra tệp nào.

8. Gia hạn

Chứng chỉ Let’s Encrypt có hạn 90 ngày, và DirectAdmin tự gia hạn khi cột Renewal mode để ở chế độ tự động.

Một việc đáng làm mỗi quý: mở trang này, xem cột Expires. Chứng chỉ còn dưới 30 ngày mà chưa được gia hạn thì có gì đó đang chặn, thường vẫn là ba nguyên nhân ở mục 4.

Chứng chỉ hết hạn là loại sự cố báo trước 90 ngày mà vẫn hay xảy ra, chỉ vì không ai nhìn.

9. Khi nào cần chứng chỉ trả phí

Let’s Encrypt đủ cho gần như mọi website. Chứng chỉ trả phí chỉ cần khi:

  • Cần loại chứng chỉ xác thực tổ chức, hiện tên doanh nghiệp.
  • Có yêu cầu từ đối tác hoặc từ quy định ngành.
  • Cần cam kết bảo hiểm từ nhà cung cấp chứng chỉ.

Về mức mã hoá thì hai loại như nhau. Chứng chỉ trả phí không làm kết nối an toàn hơn. Xem bài về cài chứng chỉ trả phí trong cùng chuyên mục.

10. Khi cần hỗ trợ

Quý Khách hàng không xin được chứng chỉ, hãy nhắn qua khung chat ở góc phải màn hình kèm ba thông tin:

  1. Tên miền cần cấp.
  2. Nguyên văn dòng lỗi ở phần FAILED HTTP CHECKS.
  3. Kết quả dig +short A <ten-mien> hoặc nslookup <ten-mien>.

Thông tin thứ ba thường trả lời được ngay, vì phần lớn trường hợp là tên miền chưa trỏ đúng chỗ.

Hướng dẫn này có ích cho bạn?

Cần đặt dịch vụ? Xem cấu hình và giá tại bảng giá Cloudzone - đặt gói trực tuyến, nhận dịch vụ ngay sau thanh toán. Cần tư vấn, mở khung chat ở góc phải màn hình.

Hướng dẫn liên quan