Cài đặt chứng chỉ SSL trên Heroku (paid SSL Endpoint)
Trước khi cài đặt SSL trên Heroku, trước tiên hãy đảm bảo rằng bạn có tất cả các tệp cần thiết:
- Tệp chứng chỉ chính có đuôi .crt (bạn có thể tải xuống tệp này từ tài khoản Namecheap của mình hoặc từ email nhận được từ Tổ chức phát hành chứng chỉ khi chứng chỉ của bạn được cấp)
- Tệp gói CA (bạn có thể tải xuống tệp này cùng với chứng chỉ hoặc từ trang này trong Cơ sở kiến thức của chúng tôi )
- Tệp khóa cá nhân được tạo cùng với CSR ở bước đầu tiên ( xem hướng dẫn về cách tạo CSR )
Lưu ý : Quá trình cài đặt bao gồm việc mua SSL Endpoint cho ứng dụng của bạn tại Heroku (Heroku SSL Endpoint là dịch vụ trả phí và có giá 20 đô la / tháng, vui lòng tham khảo bài viết này ), nhập tệp chứng chỉ và cấu hình DNS.
Xin lưu ý rằng bạn có thể cài đặt chứng chỉ * miễn phí * bằng cách sử dụng tùy chọn Heroku SSL . Để thực hiện việc này, vui lòng sử dụng lệnh sau: heroku certs: add example.crt example.key
Sau khi hoàn tất, vui lòng cập nhật cài đặt DNS cho từng miền trên ứng dụng của bạn cho phù hợp.
* Bạn cũng cần sử dụng cờ – loại sni nếu ứng dụng của bạn đã bật tiện ích bổ sung Điểm cuối SSL để chuyển sang tùy chọn miễn phí.
Lưu ý: Nếu chứng chỉ của bạn đã được cấp lại hoặc gia hạn, bạn có thể cập nhật nó trên Heroku với sự trợ giúp của lệnh sau: heroku certs: update server.crt server.key
Hãy đảm bảo sử dụng chứng chỉ mới và Khóa mới.
1. Tạo Điểm cuối SSL bằng cách chạy lệnh sau trong thiết bị đầu cuối của môi trường cục bộ của bạn:
$ heroku addons: create ssl: endpoint
2. Tải lên tệp .crt vào cùng một thư mục SSL cho ứng dụng của bạn và kết hợp chứng chỉ chính và gói CA thành một tệp riêng biệt bằng lệnh:
$ cat example.crt pack.crt> server.crt
3. Nhập chứng chỉ và khóa cá nhân vào điểm cuối bằng lệnh sau:
$ heroku certs: thêm server.crt server.key
Bạn sẽ thấy thông tin chi tiết về chứng chỉ và tên máy chủ được gán cho điểm cuối SSL của mình trong đầu ra:
Thêm Điểm cuối SSL vào ví dụ… đã xong
ví dụ hiện được cung cấp bởi example-2121.herokussl.com.
Chi tiết chứng chỉ:
Hết hạn tại:
Cơ quan cấp:
Bắt đầu lúc:
Lưu ý : Có thể mất đến 30 phút (hoặc lâu nhất là 2 giờ, trong một số trường hợp hiếm hoi) để tạo điểm cuối.
4. Khi điểm cuối SSL của bạn được tạo, cần phải hướng các yêu cầu cho miền bảo mật của bạn đến tên máy chủ của điểm cuối. Nếu bạn chưa thêm miền vào ứng dụng của mình, hãy thực hiện ngay bây giờ bằng lệnh sau:
Các miền $ heroku: thêm www.example.com
Thêm www.example.com vào ví dụ… xong
Để hướng các yêu cầu đến tên máy chủ điểm cuối, hãy tạo bản ghi CNAME:
Loại bản ghi Tên Mục tiêu
CNAME www example-2121.herokussl.com
Bản ghi tương tự cho chứng chỉ WildCard :
Loại bản ghi Tên Mục tiêu
CNAME * example-2121.herokussl.com
QUAN TRỌNG : Việc đặt bản ghi CNAME cho miền gốc (@) sẽ ghi đè lên tất cả các bản ghi khác được thiết lập cho miền. Vì lý do này, bạn sẽ cần chứng chỉ của mình để bao gồm miền phụ (www.example.com, sub.example.com, * .example.com) để bạn có thể tạo CNAME cho miền phụ.
Chỉ có thể sử dụng chứng chỉ được cấp cho miền trống (example.com) nếu bạn sử dụng nhà cung cấp DNS cung cấp chức năng giống CNAME tại vùng đỉnh.
Tất cả các chứng chỉ miền đơn lẻ do Namecheap cung cấp bao gồm cả www.example.com và example.com bất kể bạn sử dụng chứng chỉ nào trong số hai chứng chỉ này làm Tên chung cho chứng chỉ của mình.
Đó là nó! Chứng chỉ của bạn hiện đã được định cấu hình và bạn có thể truy cập miền phụ qua https. Để kiểm tra xem chứng chỉ đã được cài đặt đúng chưa, hãy sử dụng bất kỳ công cụ kiểm tra nào sau đây:
- Decoder.link
- SSLlabs
Lưu ý : Tiện ích bổ sung SSL Endpoint được mô tả trong bài viết này chỉ được khuyến nghị để hỗ trợ các ứng dụng Heroku kế thừa hoặc cho các ứng dụng yêu cầu chính sách bảo mật tùy chỉnh. Đây là hướng dẫn cài đặt SSL bằng tùy chọn Heroku SSL .