Кратак одговор
SSL сертификат се обнавља аутоматски када је подешена аутоматска обнова (cron задатак или systemd тајмер), а комерцијални сертификат обновите ручно пре датума истека. Проверите датум истека командом `openssl x509 -enddate -noout -in sertifikat.crt`, поставите аутоматску обнову и пратите упозорења. На тај начин спречавате прекид рада сајта и упозорења у прегледачу.
Како се проблем препознаје
- Прегледач приказује упозорење „Веза није приватна“ или „Сертификат је истекао“
- Корисници не могу да приступе сајту или се приказује безбедносна грешка
- HTTPS веза се прекида или прегледач не дозвољава наставак
- Алати за надзор пријављују да је сертификат истекао
- Е-поруке о истеку сертификата стижу од сертификационог тела
Најчешћи узроци
Аутоматска обнова није подешена
Лет'с Encrypt сертификати важе 90 дана и препоручује се аутоматска обнова. Ако cron задатак или systemd тајмер није активан, сертификат ће истећи.
Cron задатак за обнову не ради
Задатак може бити погрешно написан, недостајати дозволе или се извршавати у погрешном окружењу, па се обнова не обави.
Ручно управљање комерцијалним сертификатом
Комерцијални сертификати имају ограничен рок важења (према важећим правилима највише 200 дана) и обично се обнављају ручно. Без подсетника лако се пропусти датум истека.
Промена конфигурације сервера
Након миграције сајта или промене веб сервера, путање до сертификата или начин обнове могу бити погрешни.
Нетачно системско време
Server може пријавити истек раније због погрешног системског времена. Проверите да ли је време тачно.
Решење корак по корак
- 1
Проверите датум истека сертификата
Покрените
openssl x509 -enddate -noout -in /putanja/do/sertifikata.crtда видите тачан датум. Алтернативно, у прегледачу кликните на катанац поред адресе и погледајте детаље сертификата. Забележите датум и упоредите га са тренутним. - 2
Проверите да ли је аутоматска обнова активна
За Лет'с Encrypt са цертботом, покрените
sudo certbot renew --dry-run. Ако је излаз успешан, обнова ради. У супротном, проверите cron задатке (на пример саsudo crontab -l) или systemd тајмере саsystemctl list-timers. - 3
Ручно обновите сертификат
Ако је сертификат истекао, покрените
sudo certbot renew. Ако то не успе, покренитеsudo certbot certonly --force-renewal -d vasaadresa.com; користите--force-renewalсамо када је неопходно због ограничења броја издавања. За комерцијални сертификат, преузмите нови од издаваоца, направите резервну копију старог фајла и замените га. - 4
Поново учитајте веб server
Након обнове, примените измене:
sudo systemctl reload nginxилиsudo systemctl reload apache2. Проверите да ли сајт поново ради са HTTPS. - 5
Подесите аутоматску обнову
Ако користите Лет'с Encrypt, користите само један механизам аутоматске обнове. За cron, проверите да ли је у цронтаб-у корисника root активан задатак, на пример:
0 3 * * * /usr/bin/certbot renew --quiet(прилагодите путању до цертбот-а). За systemd, проверите да ли јеcertbot.timerактиван саsystemctl status certbot.timerи немојте истовремено да користите cron. - 6
Тестирајте обнову
Покрените
sudo certbot renew --dry-runда симулирате обнову без стварног издавања. Уверите се да нема грешака у вези са аутентификацијом или дозволама. - 7
Поставите надзор истека
Користите алат као што је
ssl-cert-checkили спољни сервис за праћење. Подесите упозорења најмање 14 дана пре истека. Редовно проверавајте е-пошту од сертификационог тела.
Ако ништа не помогне
Ако се сертификат не обнавља ни након ручног покретања, проверите логове: sudo journalctl -u certbot.service или /var/log/letsencrypt/letsencrypt.log. Честе грешке су неуспешна HTTP аутентификација (за HTTP-01 изазов порт 80 мора бити доступан), погрешна путања до webroot директоријума или недостатак дозвола. За комерцијалне сертификате, проверите да ли сте инсталирали и међусертификат (CA бундле). Ако је сајт у продукцији и не сме бити недоступан, размислите о привременом коришћењу бесплатног сертификата док не решите проблем. Увек направите резервну копију конфигурације пре измена.
Како да спречите да се понови
- Редовно проверавајте датум истека сертификата и подесите подсетнике
- Омогућите аутоматску обнову и тестирајте је једном месечно
- Пратите е-пошту од сертификационог тела и не игноришите упозорења
- Користите алат за надзор који ће вас обавестити пре истека
Када је боље позвати стручњака
Ако нисте сигурни како да подесите аутоматску обнову или се суочавате са грешкама при обнови које не можете да решите, обратите се IT стручњаку. Такође, ако сајт има висок промет и не сме бити недоступан, боље је да обнову препустите професионалцима.
Одржавање IT инфраструктуре · Сервери, мреже, backup, безбедност и хелпдескЧеста питања
Колико често треба обнављати SSL сертификат?
Лет'с Encrypt сертификати важе 90 дана и препоручује се аутоматска обнова. Комерцијални сертификати данас најчешће важе знатно краће од годину дана (према важећим правилима највише 200 дана), а тачан рок зависи од издаваоца. Увек проверите датум истека и подесите аутоматску обнову где је могуће.
Шта се дешава ако сертификат истекне?
Прегледачи ће приказати упозорење да веза није безбедна, а корисници могу одустати од посете. Уз HSTS или строже безбедносне политике приступ може бити потпуно блокиран, што утиче на безбедност и репутацију сајта.
Како да знам да је обнова успешна?
Након обнове, проверите нови датум истека помоћу `openssl x509 -enddate -noout -in sertifikat.crt` или у прегледачу. Уверите се да сајт ради без упозорења и да је веб server поново учитан.