Điểm:3

Cài đặt chứng chỉ ssl godaddy trên nginx, pem, bundle, crt

lá cờ cn

Có một chút không rõ ràng, theo các hướng dẫn có sẵn và các bài đăng trên diễn đàn, cách xử lý ba tệp bạn sẽ nhận được từ Godaddy khi mua Chứng chỉ SSL từ họ. Godaddy không giải thích thẳng thắn về điều đó. Nhìn lại, bây giờ khi biết cách thực hiện, người ta có thể nghĩ rằng thật không khôn ngoan nếu họ không nêu chi tiết điều này trong hướng dẫn đính kèm khi mua hàng; vì nó không phải là tầm thường để làm cho nó hoạt động.

Khi mua chứng chỉ SSL tiêu chuẩn (Starfield SHA-2) hoặc (Godaddy SHA-2) tại GoDaddy. Bạn cho biết bạn có loại máy chủ nào và tải xuống gói zip. trong quá trình này, bạn cũng tải xuống hai tệp txt.

Đối với Nginx, bạn cho biết loại máy chủ 'khác' và tệp zip của bạn chứa 3 tệp (1-3). Trong quá trình này, hai tệp nữa cũng được tạo (4-5) được lưu riêng:

  1. 3423l4kj23l4j.crt
  2. 3423l4kj23l4j.pem
  3. sf_bundle-g2-g1.crt
  4. được tạo-riêng tư-key.txt
  5. đã tạo-csr.txt

khi mở bằng notepad thì 1 và 2 ở trên giống hệt nhau

'-----BẮT ĐẦU GIẤY CHỨNG NHẬN-----
MM123XXXXXX
XXXXXXXO8km
-----GIẤY CHỨNG NHẬN KẾT THÚC-----'

sf_bundle-g2-g1.crt ở trên không chứa 1 hoặc 2, mà thay vào đó là ba mục riêng biệt

'-----BẮT ĐẦU GIẤY CHỨNG NHẬN-----
XXXX1
XXXX2
-----GIẤY CHỨNG NHẬN KẾT THÚC-----
-----BẮT ĐẦU GIẤY CHỨNG NHẬN----
XXXX3
XXXX4
-----GIẤY CHỨNG NHẬN KẾT THÚC-----
-----BẮT ĐẦU GIẤY CHỨNG NHẬN----
XXXX5
XXXX6
-----GIẤY CHỨNG NHẬN KẾT THÚC-----'

được tạo-riêng tư-key.txt là duy nhất

'----- BẮT ĐẦU KHÓA RIÊNG TƯ -----
XXXX7
XXXX8
----- KẾT THÚC KHÓA RIÊNG TƯ -----'

và cuối cùng, đã tạo-csr.txt, cũng là duy nhất

'-----BẮT ĐẦU YÊU CẦU CHỨNG NHẬN-----
XXXX9
XXX0
----- KẾT THÚC YÊU CẦU CHỨNG NHẬN -----'

Trong Nginx:

  1. Tôi đã tạo một thư mục, /etc/nginx/ssl
  2. tôi chỉnh sửa /etc/nginx/sites-enabled/default.conf như sau

;

người phục vụ {
        nghe 80 default_server ;
        lắng nghe [::]:80 default_server ;

Tôi đã thay đổi điều này thành:

người phục vụ {
        nghe 443 ssl ;
        nghe [::]:443 ssl ;
        server_name example.com;

        ssl_certificate /etc/nginx/ssl/ ?????????.crt;
        ssl_certificate_key /etc/nginx/ssl/ ??????.key;

Vì tôi có một chút không rõ ràng là gì, và pem và gói là gì, tôi muốn hỏi tệp nào trong số các tệp đã giải nén sẽ đi đâu ?:

  • ssl_certificate = crt, pem, bó, gen_crt?
  • ssl_certificate_key = pem hay khóa riêng tư?

CẬP NHẬT Tôi đã làm như @ nikita-kipriyanov đề xuất, điều này đã hiệu quả.

  • kết hợp/nối bởi: 3423l4kj23l4j.pem sf_bundle-g2-g1.crt > fullchain.pem Điều này sẽ trở thành ssl_certificate tập tin
  • đổi tên thành được tạo-riêng tư-key.txt thành một khóa riêng tư.pem tệp, sau đó thay đổi mã hóa tệp của nó: Sudo iconv -c -f UTF8 -t ASCII privkey.pem >> privkey.pem Điều này sẽ trở thành ssl_certificate_key tập tin
Nikita Kipriyanov avatar
lá cờ za
Tất cả các tệp của bạn ở định dạng PEM. Có vẻ như *bạn cần* ghép nối chứng chỉ và gói của mình theo câu trả lời bên dưới và sử dụng chứng chỉ đó cho `ssl_certificate`. Sử dụng tệp khóa riêng được tạo cho `ssl_certificate_key`. Tôi nghĩ rằng điều đó khá rõ ràng từ một câu trả lời, nhưng bản chỉnh sửa của bạn làm cho điều này rõ ràng hơn.
dave_thompson_085 avatar
lá cờ jp
Bạn có chắc đó là `sf_bundle-g1-g1` không? Thật vô nghĩa khi xâu chuỗi một gốc với chính nó và [kho lưu trữ của GoDaddy](https://certs.godaddy.com/repository) có `sf_bundle-g2-g1` và `sf_bundle-g2` nhưng không có `sf_bundle- g1-g1`.
Jaco avatar
lá cờ cn
điểm tốt @dave_thompson_085, đó là một lỗi đánh máy, đã sửa nó
Điểm:3
lá cờ za

Nó phụ thuộc vào những gì bên trong gói. Tôi chắc chắn rằng nó chứa đường dẫn chứng nhận đến CA đáng tin cậy, câu hỏi đặt ra là: nó cũng bao gồm chứng chỉ máy chủ cuối (đó là "chuỗi đầy đủ" theo thuật ngữ Let's Encrypt) hay không ("chuỗi")? Ngoài ra, tệp nào chứa khóa riêng?

Bạn có thể kiểm tra thủ công bằng cách xem bằng trình xem văn bản (notepad, v.v.) và so sánh nội dung, vì gói ở định dạng PEM không gì khác hơn là tất cả các chứng chỉ ở dạng Base64 được nối bắt đầu với máy chủ, sau đó là CA của nhà phát hành, và như thế.

Bạn cũng có thể cắt bất kỳ chứng chỉ nào bắt đầu bằng -----BẮT ĐẦU GIẤY CHỨNG NHẬN---- lên đến -----GIẤY CHỨNG NHẬN KẾT THÚC-----, bao gồm cả hai dòng đặc biệt này, vào tệp chuyên dụng và giải mã nó bằng openssl x509 -in file.pem -noout -text. Bằng cách này, bạn sẽ biết chính xác chứng chỉ nào có trong gói.

Nếu tệp định dạng PEM chứa nội dung nào đó như ----- BẮT ĐẦU KHÓA RIÊNG TƯ ----, không chia sẻ nó với bất cứ ai, giữ bí mật!

Tất cả các tệp chỉ chứa chứng chỉ, chỉ có -----BẮT ĐẦU GIẤY CHỨNG NHẬN---- trong đó, là công khai. Bạn có thể hiển thị chúng cho bất kỳ ai một cách an toàn (và trên thực tế, bạn sẽ hiển thị vì máy chủ gửi các chứng chỉ đó cho máy khách trong bước bắt đầu phiên SSL).


Nếu gói của bạn đã chứa một chuỗi đầy đủ (tức là bắt đầu bằng chứng chỉ máy chủ cuối), thì tất cả công việc đã được thực hiện cho bạn và bỏ qua bước sau.

Tuy nhiên, nếu nó không chứa một chuỗi đầy đủ, bạn phải tự nối nó (có vẻ như đây là trường hợp của bạn):

cat server.crt bundle.pem > fullchain.pem

Bây giờ, chỉ cần chuyển nó vào Nginx:

ssl_certificate fullchain.pem;
ssl_certificate_key privkey.pem;

Nhìn thấy hướng dẫn nginx để biết chi tiết.

Đăng câu trả lời

Hầu hết mọi người không hiểu rằng việc đặt nhiều câu hỏi sẽ mở ra cơ hội học hỏi và cải thiện mối quan hệ giữa các cá nhân. Ví dụ, trong các nghiên cứu của Alison, mặc dù mọi người có thể nhớ chính xác có bao nhiêu câu hỏi đã được đặt ra trong các cuộc trò chuyện của họ, nhưng họ không trực giác nhận ra mối liên hệ giữa câu hỏi và sự yêu thích. Qua bốn nghiên cứu, trong đó những người tham gia tự tham gia vào các cuộc trò chuyện hoặc đọc bản ghi lại các cuộc trò chuyện của người khác, mọi người có xu hướng không nhận ra rằng việc đặt câu hỏi sẽ ảnh hưởng—hoặc đã ảnh hưởng—mức độ thân thiện giữa những người đối thoại.