Синхронизация Wiki / Синхронизация Wiki (push) Successful in 3s
- Структура проекта и основные скрипты (PROJECT_STRUCTURE.md) - Быстрый старт сборки исполняемых файлов (QUICKSTART_BUILD.md) - Автоматические релизы через GitHub и Gitea (RELEASE_GUIDE.md) - Подробная инструкция по использованию скриптов (SSL_SCRIPTS_README.md) - Руководство по тестированию SSL сертификатов (TESTING_GUIDE.md) - Инструкции по настройке Nginx Proxy Manager с SSL (Настройке Nginx Manager с SSL .md) - Создание и продление wildcard сертификата в Nginx Proxy Manager (Создание и продление SSL сертификата.md)
93 lines
3.0 KiB
Markdown
93 lines
3.0 KiB
Markdown
# Конфигурация
|
||
|
||
Проект использует JSON-конфиг (пример: `config.json.example`).
|
||
|
||
## Важно про мультидоменный режим
|
||
|
||
Скрипт поддерживает:
|
||
|
||
- один домен в поле `domain`
|
||
- список доменов в поле `domains` (массив строк)
|
||
- оба поля одновременно (будет объединение без дублей)
|
||
|
||
Пример:
|
||
|
||
```json
|
||
{
|
||
"regru_username": "your_username",
|
||
"regru_password": "your_password",
|
||
"domain": "example.com",
|
||
"domains": [
|
||
"example.com",
|
||
"pages.gitea.example.com"
|
||
],
|
||
"wildcard": true,
|
||
"email": "admin@example.com",
|
||
"cert_dir": "/etc/letsencrypt/live",
|
||
"log_file": "/var/log/letsencrypt_regru.log",
|
||
"dns_propagation_wait": 60,
|
||
"dns_check_attempts": 10,
|
||
"dns_check_interval": 10,
|
||
"renewal_days": 30,
|
||
"npm_enabled": true,
|
||
"npm_host": "http://192.0.2.1:81",
|
||
"npm_email": "admin@example.com",
|
||
"npm_password": "changeme"
|
||
}
|
||
```
|
||
|
||
## Параметры конфигурации
|
||
|
||
### reg.ru API
|
||
|
||
- `regru_username`, `regru_password`
|
||
- учётные данные для API reg.ru
|
||
- IP должен быть разрешён в настройках API (см. [RegRu_API_Troubleshooting](RegRu_API_Troubleshooting.md))
|
||
|
||
### Домены
|
||
|
||
- `domain`: основной домен (строка)
|
||
- `domains`: массив доменов
|
||
- `wildcard`: если `true`, скрипт будет запрашивать `-d <domain>` и `-d *.<domain>`
|
||
- обратите внимание: этот флаг сейчас общий для всех доменов из массива
|
||
|
||
### Let’s Encrypt
|
||
|
||
- `email`: email для регистрации в Let’s Encrypt
|
||
- `renewal_days`: порог автопродления (например, 30)
|
||
|
||
### DNS ожидание/проверки
|
||
|
||
- `dns_propagation_wait`: сколько секунд ждать после добавления TXT
|
||
- `dns_check_attempts`: сколько попыток проверки через `nslookup`
|
||
- `dns_check_interval`: интервал между попытками
|
||
|
||
### Пути
|
||
|
||
- `cert_dir`: базовая папка сертификатов (обычно `/etc/letsencrypt/live`)
|
||
- `log_file`: файл логов
|
||
|
||
### Nginx Proxy Manager (опционально)
|
||
|
||
- `npm_enabled`: включить синхронизацию сертификатов в NPM
|
||
- `npm_host`: URL NPM (пример: `http://10.10.10.14:81`)
|
||
- `npm_email`, `npm_password`: учётные данные
|
||
|
||
Подробности: [Nginx_Proxy_Manager](Nginx_Proxy_Manager.md).
|
||
|
||
## Проверка конфига
|
||
|
||
- `letsencrypt-regru --test-api -v`
|
||
- `letsencrypt-regru --test-dns -v`
|
||
- `letsencrypt-regru --check -v`
|
||
|
||
## Где хранить конфиг
|
||
|
||
- храните конфиг с правами `600`
|
||
- владелец: root
|
||
|
||
Пример:
|
||
|
||
- `sudo chmod 600 /etc/letsencrypt/regru_config.json`
|
||
- `sudo chown root:root /etc/letsencrypt/regru_config.json`
|