Добавлены новые документы и инструкции по настройке, использованию и тестированию SSL сертификатов Let's Encrypt с использованием API reg.ru. Обновлены зависимости в requirements.txt для поддержки новых функций. Включены подробные шаги по автоматизации, созданию и продлению сертификатов, а также интеграции с Nginx Proxy Manager.
This commit is contained in:
263
docs/ru/CHEATSHEET.md
Normal file
263
docs/ru/CHEATSHEET.md
Normal file
@@ -0,0 +1,263 @@
|
||||
# ⚡ Шпаргалка по SSL сертификатам
|
||||
|
||||
## 🚀 Быстрый старт
|
||||
|
||||
### Установка за 3 команды
|
||||
```bash
|
||||
sudo make install
|
||||
sudo nano /etc/letsencrypt/regru_config.json # Заполнить данные
|
||||
sudo make test-cert # Тест
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## 🧪 Тестирование (БЕЗ лимитов Let's Encrypt)
|
||||
|
||||
```bash
|
||||
# Создать тестовый сертификат (неограниченно)
|
||||
sudo make test-cert
|
||||
|
||||
# Проверить статус
|
||||
sudo make status
|
||||
|
||||
# Просмотреть логи
|
||||
sudo make logs
|
||||
```
|
||||
|
||||
**Когда использовать:**
|
||||
- ⚠️ Let's Encrypt: макс. 5 сертификатов/неделю
|
||||
- ✅ Тестовые: НЕОГРАНИЧЕННО
|
||||
- ⚡ Создание: 1-2 секунды vs 2-5 минут
|
||||
|
||||
---
|
||||
|
||||
## 🔒 Production (Let's Encrypt)
|
||||
|
||||
```bash
|
||||
# Получить настоящий сертификат
|
||||
sudo make obtain
|
||||
|
||||
# Автоматический режим (проверка + обновление)
|
||||
sudo make run
|
||||
|
||||
# Принудительное обновление
|
||||
sudo make renew
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## 📋 Основные команды
|
||||
|
||||
| Команда | Описание | Лимиты |
|
||||
|---------|----------|--------|
|
||||
| `make test-cert` | Тестовый сертификат | ✅ Нет |
|
||||
| `make obtain` | Let's Encrypt новый | ⚠️ 5/неделю |
|
||||
| `make renew` | Обновить существующий | ⚠️ 5/неделю |
|
||||
| `make run` | Авто-режим | ⚠️ 5/неделю |
|
||||
| `make status` | Статус системы | - |
|
||||
| `make logs` | Показать логи | - |
|
||||
| `make check-config` | Проверить конфигурацию | - |
|
||||
|
||||
---
|
||||
|
||||
## 📝 Конфигурация
|
||||
|
||||
### Минимальная (тестирование)
|
||||
```json
|
||||
{
|
||||
"domain": "test.example.com",
|
||||
"wildcard": true,
|
||||
"cert_dir": "/etc/letsencrypt/live"
|
||||
}
|
||||
```
|
||||
|
||||
### Полная (production + NPM)
|
||||
```json
|
||||
{
|
||||
"regru_username": "myuser",
|
||||
"regru_password": "mypassword",
|
||||
"domain": "example.com",
|
||||
"wildcard": true,
|
||||
"email": "admin@example.com",
|
||||
"renewal_days": 30,
|
||||
"npm_enabled": true,
|
||||
"npm_host": "https://npm.example.com",
|
||||
"npm_email": "admin@example.com",
|
||||
"npm_password": "npm_password"
|
||||
}
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## 🔄 Workflow
|
||||
|
||||
### Разработка → Production
|
||||
|
||||
```bash
|
||||
# 1. Разработка (тестовые сертификаты)
|
||||
sudo make test-cert # Создать тестовый
|
||||
# Тестировать приложение...
|
||||
|
||||
# 2. Production (Let's Encrypt)
|
||||
sudo rm -rf /etc/letsencrypt/live/example.com/ # Удалить тест
|
||||
sudo make obtain # Создать production
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## 📁 Важные пути
|
||||
|
||||
```bash
|
||||
# Конфигурация
|
||||
/etc/letsencrypt/regru_config.json
|
||||
|
||||
# Сертификаты
|
||||
/etc/letsencrypt/live/example.com/
|
||||
├── privkey.pem # Приватный ключ
|
||||
├── cert.pem # Сертификат
|
||||
├── fullchain.pem # Полная цепочка (для nginx)
|
||||
└── chain.pem # CA цепочка
|
||||
|
||||
# Скрипты
|
||||
/opt/letsencrypt-regru/letsencrypt_regru_api.py
|
||||
|
||||
# Логи
|
||||
/var/log/letsencrypt_regru.log
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## 🔍 Проверка
|
||||
|
||||
```bash
|
||||
# Проверить конфигурацию
|
||||
sudo make check-config
|
||||
|
||||
# Проверить сертификат
|
||||
openssl x509 -in /etc/letsencrypt/live/example.com/cert.pem -text -noout
|
||||
|
||||
# Проверить срок действия
|
||||
openssl x509 -in /etc/letsencrypt/live/example.com/cert.pem -noout -dates
|
||||
|
||||
# Проверить systemd
|
||||
sudo systemctl status letsencrypt-regru.timer
|
||||
sudo systemctl list-timers letsencrypt-regru.timer
|
||||
|
||||
# Проверить cron
|
||||
sudo crontab -l | grep letsencrypt
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## 🐛 Отладка
|
||||
|
||||
```bash
|
||||
# Подробные логи
|
||||
sudo make logs
|
||||
|
||||
# Тестовый запуск с подробностями
|
||||
sudo python3 /opt/letsencrypt-regru/letsencrypt_regru_api.py \
|
||||
-c /etc/letsencrypt/regru_config.json --check -v
|
||||
|
||||
# Логи certbot
|
||||
sudo tail -f /var/log/letsencrypt/letsencrypt.log
|
||||
|
||||
# Логи systemd
|
||||
sudo journalctl -u letsencrypt-regru.service -f
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## ⚠️ Частые ошибки
|
||||
|
||||
### Let's Encrypt: Rate limit exceeded
|
||||
```bash
|
||||
# РЕШЕНИЕ: Используйте тестовые сертификаты
|
||||
sudo make test-cert
|
||||
```
|
||||
|
||||
### NPM: Certificate not found
|
||||
```bash
|
||||
# РЕШЕНИЕ: Проверьте настройки NPM
|
||||
sudo make check-config
|
||||
|
||||
# Проверьте подключение
|
||||
curl -k https://npm.example.com
|
||||
```
|
||||
|
||||
### Permission denied
|
||||
```bash
|
||||
# РЕШЕНИЕ: Запускайте с sudo
|
||||
sudo make test-cert
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## 🎯 Сценарии использования
|
||||
|
||||
### Локальная разработка
|
||||
```bash
|
||||
sudo make test-cert
|
||||
# Открыть https://localhost (игнорировать предупреждение)
|
||||
```
|
||||
|
||||
### CI/CD тестирование
|
||||
```bash
|
||||
# В pipeline
|
||||
sudo make test-cert
|
||||
# Запустить тесты...
|
||||
sudo make status
|
||||
```
|
||||
|
||||
### Staging окружение
|
||||
```bash
|
||||
sudo make test-cert # Или
|
||||
sudo make obtain # Если есть домен
|
||||
```
|
||||
|
||||
### Production окружение
|
||||
```bash
|
||||
sudo make install
|
||||
sudo make obtain
|
||||
# Автоматическое обновление через cron/systemd
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## 📚 Документация
|
||||
|
||||
- **README.md** - Полное руководство (1420+ строк)
|
||||
- **TESTING_GUIDE.md** - Тестирование (370+ строк)
|
||||
- **PROJECT_STRUCTURE.md** - Структура проекта
|
||||
- **CHEATSHEET.md** - Эта шпаргалка
|
||||
|
||||
---
|
||||
|
||||
## 🆘 Быстрая помощь
|
||||
|
||||
```bash
|
||||
# Показать все команды
|
||||
make help
|
||||
|
||||
# Проверить установку
|
||||
sudo make status
|
||||
|
||||
# Полная переустановка
|
||||
sudo make uninstall
|
||||
sudo make install
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## 💡 Советы
|
||||
|
||||
1. **Всегда начинайте с тестовых сертификатов** - избегайте лимитов
|
||||
2. **Проверяйте конфигурацию** - `make check-config`
|
||||
3. **Мониторьте логи** - `make logs`
|
||||
4. **Автоматизируйте** - systemd/cron уже настроены
|
||||
5. **Храните бэкапы** конфигурации
|
||||
|
||||
---
|
||||
|
||||
**Версия**: 2.1
|
||||
**Обновлено**: 27.10.2025
|
||||
Reference in New Issue
Block a user