Cập nhật câu trả lời (xem câu trả lời gốc bên dưới)
Trong câu trả lời ban đầu của tôi, tôi tập trung vào thực tế là tập lệnh bạn cung cấp không bắt buộc khi sử dụng renew
lệnh. Tuy nhiên, tôi không chắc chắn rằng renew
lệnh thực sự được áp dụng trong kịch bản này.
Vì cdhowie và bobpaul ở trạng thái bình luận: certbot renew
là chế độ không tương tác - kết hợp với thử thách dns - yêu cầu bạn cung cấp tập lệnh thông qua --manual-auth-hook
tham số. Kịch bản đã nói phải có khả năng thiết lập một TXT
bản ghi. Bạn cũng có thể cung cấp một tập lệnh khác để dọn dẹp sau đó thông qua --manual-cleanup-hook
tham số.
Nếu bạn cung cấp các tham số này, toàn bộ quá trình sẽ tự động chạy mà không có bất kỳ tương tác nào.
Nếu bạn không cung cấp các tham số này, certbot sẽ thất bại:
/opt/certbot # certbot renew --force-renewal
Saving debug log to /var/log/letsencrypt/letsencrypt.log
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Processing /etc/letsencrypt/renewal/foobar.w9f.de.conf
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Could not choose appropriate plugin: The manual plugin is not working; there may be problems with your existing configuration.
The error was: PluginError('An authentication script must be provided with --manual-auth-hook when using the manual plugin non-interactively.',)
Nếu bạn muốn làm mới chứng chỉ của mình thông qua chế độ thủ công, bạn phải chạy lại các lệnh bạn đã sử dụng để lấy chứng chỉ. Trong trường hợp này, tập lệnh của bạn là một tùy chọn tốt vì certonly
lệnh không xem xét các chứng chỉ / cấu hình hiện tại và thay vào đó yêu cầu bạn cung cấp tên miền thông qua -d
tham số hoặc trong chế độ tương tác.
Khi tôi chạy "certbot refresh", nó có tự động gia hạn tất cả chúng mà không cần sử dụng tập lệnh của tôi không?
TL; DR: Vâng, nó nên.
Hãy để chúng tôi xem tài liệu của certbot :
Kể từ phiên bản 0.10.0, Certbot hỗ trợ hành động gia hạn để kiểm tra tất cả các chứng chỉ đã cài đặt để biết sắp hết hạn và cố gắng làm mới chúng. Hình thức đơn giản nhất là đơn giản
gia hạn certbot
Càng xa càng tốt.
Lệnh này cố gắng gia hạn mọi chứng chỉ đã đạt được trước đó hết hạn sau chưa đầy 30 ngày.
Điêu nay co thể trả lơi câu hỏi của bạn. Chú ý: Tôi không biết làm thế nào certbot
có thể xử lý tốt các tình huống khi bạn di chuyển chứng chỉ đến các thư mục khác nhau.
Sau đó trong cùng một đoạn:
Các plugin và tùy chọn tương tự được sử dụng tại thời điểm chứng chỉ ban đầu được cấp sẽ được sử dụng cho lần thử gia hạn, trừ khi bạn chỉ định các plugin hoặc tùy chọn khác. Không giống như certonly
, renew
hành động trên nhiều chứng chỉ và luôn luôn tính đến việc mỗi chứng chỉ sắp hết hạn.
Vì vậy, có; certbot
nên gia hạn tất cả các chứng chỉ của bạn mà không cần sự trợ giúp của tập lệnh của bạn.
Làm cách nào để tôi thực sự tạo chứng chỉ mới bằng thử thách DNS để bắt đầu?
Có gì sai với lệnh bạn đã đăng ở đầu bài viết của bạn?
certbot -d example.com --manual --preferred-challenges dns certonly
sẽ có được một chứng chỉ cho example.com bằng cách sử dụng thử thách dns.
Các bước để tạo chứng chỉ là:
- Chạy
certbot
lệnh bạn đã đăng
- Đợi lệnh hiển thị cho bạn bản ghi DNS TXT
- Tạo bản ghi TXT đó
- Tiếp tục
certbot
lệnh
- Nhận chứng chỉ cho tên miền được chỉ định
- Xóa bản ghi TXT (vì bạn chỉ cần nó để tạo và một bản ghi mới để gia hạn)
Nếu bạn muốn tự động hóa quá trình hoàn chỉnh đó, bạn có thể muốn xem một công cụ như lego hỗ trợ một vài nhà cung cấp DNS .