Jawaban yang diperbarui (lihat jawaban asli di bawah)
Dalam jawaban asli saya, saya fokus pada fakta bahwa skrip yang Anda berikan tidak diperlukan saat menggunakan renew
perintah. Namun, saya tidak memastikan renew
perintah itu benar-benar berlaku dalam skenario ini.
Seperti cdhowie dan bobpaul dalam status komentar: certbot renew
adalah mode non-interaktif yang - bersamaan dengan tantangan dns - mengharuskan Anda untuk menyediakan skrip melalui --manual-auth-hook
parameter. Script tersebut harus mampu membuat TXT
catatan. Anda juga dapat memberikan skrip lain untuk dibersihkan setelah melalui --manual-cleanup-hook
parameter.
Jika Anda memberikan parameter ini, seluruh proses akan berjalan secara otomatis tanpa interaksi apa pun.
Jika Anda tidak memberikan parameter ini, certbot akan gagal:
/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.',)
Jika Anda ingin memperbarui sertifikat melalui mode manual, Anda harus menjalankan kembali perintah yang Anda gunakan untuk mendapatkan sertifikat. Dalam hal ini, skrip Anda adalah opsi yang bagus karena certonly
perintah tersebut tidak melihat sertifikat / konfigurasi yang ada dan sebaliknya mengharuskan Anda untuk memberikan nama domain baik melalui -d
parameter atau dalam mode interaktif.
ketika saya menjalankan "certbot renew", akankah ia memperbarui semuanya secara otomatis tanpa menggunakan skrip saya?
TL; DR: Ya, seharusnya begitu.
Mari kita lihat dokumentasi certbot :
Pada versi 0.10.0, Certbot mendukung tindakan pembaruan untuk memeriksa semua sertifikat yang diinstal untuk kedaluwarsa yang akan datang dan berupaya memperbaruinya. Bentuk yang paling sederhana adalah sederhana
certbot renew
Sejauh ini bagus.
Perintah ini mencoba untuk memperbarui sertifikat yang diperoleh sebelumnya yang kedaluwarsa dalam waktu kurang dari 30 hari.
Ini seharusnya menjawab pertanyaan Anda. Hati-hati: Saya tidak tahu seberapa baik certbot
dapat menangani situasi di mana Anda memindahkan sertifikat ke direktori yang berbeda.
Kemudian dalam paragraf yang sama:
Plugin dan opsi yang sama yang digunakan pada saat sertifikat awalnya dikeluarkan akan digunakan untuk upaya pembaruan, kecuali jika Anda menentukan plugin atau opsi lain. Tidak seperti certonly
, renew
bertindak berdasarkan beberapa sertifikat dan selalu mempertimbangkan apakah masing-masing hampir kedaluwarsa.
Jadi iya; certbot
harus memperbarui semua sertifikat Anda tanpa bantuan skrip Anda.
Bagaimana cara saya membuat sertifikat baru menggunakan tantangan DNS untuk memulainya?
Apa yang salah dengan perintah yang Anda posting di awal posting Anda?
certbot -d example.com --manual --preferred-challenges dns certonly
akan memperoleh sertifikat untuk example.com menggunakan tantangan dns.
Langkah-langkah untuk membuat sertifikat adalah:
- Jalankan
certbot
perintah yang Anda posting
- Tunggu perintah untuk menampilkan catatan DNS TXT
- Buat catatan TXT itu
- Lanjutkan
certbot
perintah
- Dapatkan sertifikat untuk domain yang ditentukan
- Hapus data TXT (karena Anda hanya membutuhkannya untuk pembuatan dan yang baru untuk pembaruan)
Jika Anda ingin mengotomatiskan proses lengkap itu, Anda mungkin ingin melihat alat seperti lego yang mendukung beberapa penyedia DNS .
certbot renew
tidak mendukung metode manual tanpa skrip .--manual
. Seluruh tujuan--manual
adalah untuk memaksa mode interaktif. Tetapi Anda dapat menggunakan plugin DNS seperti aws atau digitaloceancertonly
tanpa--manual
opsi dan mereka akan diperpanjang secara otomatis sebelum 90 hari.