You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Добавьте задачу в `cron` на вашем сервере, чтобы сертификаты обновлялись автоматически. Откройте crontab:
75
+
Добавьте задачу в `cron` на вашем сервере, чтобы сертификаты обновлялись автоматически. Команды `cron` лучше запускать от имени `root`, так как `docker` требует `sudo`.
76
76
77
+
Откройте crontab для `root`:
77
78
```bash
78
-
crontab -e
79
+
sudo crontab -e
79
80
```
80
81
81
-
И добавьте следующую строку, которая будет пытаться обновить сертификат дважды в день (Let's Encrypt обновит его, только если до истечения срока осталось меньше 30 дней):
82
+
И добавьте следующую строку, заменив `/path/to/your/project/` на реальный путь к вашему проекту на сервере (например, `/opt/actions-runner/apps/relaxy`):
> **Важно:** Замените `/path/to/your/project/` на реальный путь к вашему проекту на сервере.
88
+
Эта задача будет выполняться каждый день в 4:30 утра. Она делает три вещи:
89
+
1. Пытается обновить сертификат (`certbot renew`).
90
+
2. В случае успеха (или если обновление не требуется), принудительно перезагружает конфигурацию Nginx, чтобы он подхватил новый сертификат (`nginx -s reload`).
91
+
3. Записывает результат в лог-файл для отладки.
92
+
93
+
### Управление и проверка
94
+
95
+
Иногда нужно проверить статус сертификатов или запустить обновление вручную. Все команды выполняются на сервере в директории проекта.
96
+
97
+
#### Ручное обновление сертификата
98
+
```bash
99
+
# Запускаем обновление
100
+
sudo docker compose run --rm certbot renew
101
+
102
+
# Применяем новый сертификат в Nginx
103
+
sudo docker compose exec nginx nginx -s reload
104
+
```
105
+
106
+
#### Проверка срока действия сертификата
107
+
108
+
**1. Изнутри контейнера (проверка файла на диске)**
0 commit comments