Добавлены функции для тестирования доступа к API reg.ru и обработки ошибок. Обновлены сообщения об ошибках с рекомендациями по устранению неполадок. Увеличен таймаут для запросов к API.

This commit is contained in:
Dmitriy Fofanov
2025-10-29 22:00:10 +03:00
parent ed4531fa64
commit 3682379d98
3 changed files with 504 additions and 24 deletions

View File

@@ -0,0 +1,170 @@
# 🔧 reg.ru API Troubleshooting Guide
## ❌ Issue: "Access to API from this IP denied"
This error occurs when reg.ru API is blocked for your IP address due to security settings.
### 🔍 Diagnostics
First, determine your current IP address:
```bash
# Method 1: Using script's built-in function
sudo letsencrypt-regru --test-api
# Method 2: Using curl
curl -s https://ipinfo.io/ip
# Method 3: Using website
# Open https://whatismyipaddress.com/
```
### ✅ Solution
#### Method 1: Add IP to whitelist (recommended)
1. **Login to reg.ru control panel**
- Open https://www.reg.ru/
- Login to your account
2. **Navigate to API settings**
- Menu → "Settings" (Настройки)
- Section "Security" (Безопасность)
- Subsection "API"
3. **Configure IP access**
- Find "IP Restrictions" section
- Click "Add IP address"
- Enter your current IP address
- Save settings
4. **Test settings**
```bash
sudo letsencrypt-regru --test-api
```
#### Method 2: Disable IP restrictions (less secure)
⚠️ **WARNING**: This reduces your account security!
1. In reg.ru API settings find "IP Restrictions"
2. Disable "Allow access only from specified IPs" option
3. Save settings
### 🔒 Security Recommendations
1. **Use static IP**
- If you have dynamic IP, consider purchasing static IP
- Or regularly update allowed IP list
2. **Limit API access**
- Add only necessary IP addresses
- Regularly review and clean up the list
3. **Use strong passwords**
- Complex password for reg.ru account
- Two-factor authentication if available
## ❌ Issue: "Invalid username or password"
### ✅ Solution
1. **Check credentials**
```bash
sudo nano /etc/letsencrypt-regru/config.json
```
Make sure you have correct:
- `regru_username` - reg.ru login
- `regru_password` - reg.ru password
2. **Check file permissions**
```bash
sudo chmod 600 /etc/letsencrypt-regru/config.json
sudo chown root:root /etc/letsencrypt-regru/config.json
```
3. **Test connection**
```bash
sudo letsencrypt-regru --test-api
```
## ❌ Issue: Connection timeout
### ✅ Solution
1. **Check internet connection**
```bash
ping -c 4 api.reg.ru
curl -I https://api.reg.ru/api/regru2
```
2. **Check firewall**
```bash
# Temporarily disable firewall for testing
sudo ufw status
sudo iptables -L
```
3. **Check proxy settings**
- Ensure `HTTP_PROXY`, `HTTPS_PROXY` environment variables don't interfere
## 🧪 API Testing
Always test API before use:
```bash
# Full API test
sudo letsencrypt-regru --test-api
# Test with verbose output
sudo letsencrypt-regru --test-api -v
# Check configuration
sudo letsencrypt-regru --check
```
## 📞 Getting Help
### reg.ru Technical Support
- **Email**: support@reg.ru
- **Phone**: 8 (495) 580-11-11
- **Online chat**: on reg.ru website
### Documentation
- **reg.ru API**: https://www.reg.ru/support/api
- **Usage examples**: https://www.reg.ru/support/api/examples
- **API FAQ**: https://www.reg.ru/support/api/faq
### Diagnostic Logs
Always include logs when contacting support:
```bash
# Enable verbose logs
sudo letsencrypt-regru --test-api -v
# View recent logs
sudo tail -n 50 /var/log/letsencrypt-regru/letsencrypt_regru.log
# Certbot logs
sudo tail -n 50 /var/log/letsencrypt/letsencrypt.log
```
## 🔄 Alternative DNS Providers
If reg.ru API issues are critical, consider alternatives:
1. **Cloudflare** - excellent API, free DNS
2. **Route53** (AWS) - powerful but paid
3. **DigitalOcean DNS** - simple and reliable
4. **Google Cloud DNS** - GCP integration
These require script modification or other certbot plugins.
---
**Last Updated**: October 29, 2025
**Document Version**: 1.0

View File

@@ -0,0 +1,170 @@
# 🔧 Решение проблем с API reg.ru
## ❌ Проблема: "Access to API from this IP denied"
Эта ошибка возникает, когда API reg.ru заблокирован для вашего IP адреса из соображений безопасности.
### 🔍 Диагностика
Сначала определите ваш текущий IP адрес:
```bash
# Способ 1: Через встроенную функцию скрипта
sudo letsencrypt-regru --test-api
# Способ 2: Через curl
curl -s https://ipinfo.io/ip
# Способ 3: Через веб-сайт
# Откройте https://whatismyipaddress.com/
```
### ✅ Решение
#### Метод 1: Добавить IP в белый список (рекомендуется)
1. **Войдите в личный кабинет reg.ru**
- Откройте https://www.reg.ru/
- Войдите в личный кабинет
2. **Перейдите в настройки API**
- Меню → "Настройки"
- Раздел "Безопасность"
- Подраздел "API"
3. **Настройте доступ по IP**
- Найдите раздел "Ограничения по IP"
- Нажмите "Добавить IP адрес"
- Введите ваш текущий IP адрес
- Сохраните настройки
4. **Проверьте настройки**
```bash
sudo letsencrypt-regru --test-api
```
#### Метод 2: Отключить ограничения по IP (менее безопасно)
⚠️ **ВНИМАНИЕ**: Это снижает безопасность вашего аккаунта!
1. В настройках API reg.ru найдите "Ограничения по IP"
2. Отключите опцию "Разрешить доступ только с указанных IP"
3. Сохраните настройки
### 🔒 Рекомендации по безопасности
1. **Используйте статический IP**
- Если у вас динамический IP, рассмотрите покупку статического
- Или регулярно обновляйте список разрешенных IP
2. **Ограничьте доступ к API**
- Добавляйте только необходимые IP адреса
- Регулярно проверяйте и очищайте список
3. **Используйте сильные пароли**
- Сложный пароль для аккаунта reg.ru
- Двухфакторная аутентификация если доступна
## ❌ Проблема: "Invalid username or password"
### ✅ Решение
1. **Проверьте учетные данные**
```bash
sudo nano /etc/letsencrypt-regru/config.json
```
Убедитесь что указаны правильные:
- `regru_username` - логин от reg.ru
- `regru_password` - пароль от reg.ru
2. **Проверьте права на файл**
```bash
sudo chmod 600 /etc/letsencrypt-regru/config.json
sudo chown root:root /etc/letsencrypt-regru/config.json
```
3. **Протестируйте подключение**
```bash
sudo letsencrypt-regru --test-api
```
## ❌ Проблема: Таймаут подключения
### ✅ Решение
1. **Проверьте интернет соединение**
```bash
ping -c 4 api.reg.ru
curl -I https://api.reg.ru/api/regru2
```
2. **Проверьте брандмауэр**
```bash
# Временно отключите firewall для теста
sudo ufw status
sudo iptables -L
```
3. **Проверьте прокси настройки**
- Убедитесь что переменные окружения `HTTP_PROXY`, `HTTPS_PROXY` не мешают
## 🧪 Тестирование API
Всегда тестируйте API перед использованием:
```bash
# Полный тест API
sudo letsencrypt-regru --test-api
# Тест с подробным выводом
sudo letsencrypt-regru --test-api -v
# Проверка конфигурации
sudo letsencrypt-regru --check
```
## 📞 Получение помощи
### Техподдержка reg.ru
- **Email**: support@reg.ru
- **Телефон**: 8 (495) 580-11-11
- **Онлайн чат**: на сайте reg.ru
### Документация
- **API reg.ru**: https://www.reg.ru/support/api
- **Примеры использования**: https://www.reg.ru/support/api/examples
- **FAQ по API**: https://www.reg.ru/support/api/faq
### Логи для диагностики
Всегда включайте логи при обращении в поддержку:
```bash
# Включить подробные логи
sudo letsencrypt-regru --test-api -v
# Посмотреть последние логи
sudo tail -n 50 /var/log/letsencrypt-regru/letsencrypt_regru.log
# Логи certbot
sudo tail -n 50 /var/log/letsencrypt/letsencrypt.log
```
## 🔄 Альтернативные DNS провайдеры
Если проблемы с reg.ru API критичны, рассмотрите альтернативы:
1. **Cloudflare** - отличный API, бесплатный DNS
2. **Route53** (AWS) - мощный, но платный
3. **DigitalOcean DNS** - простой и надежный
4. **Google Cloud DNS** - интеграция с GCP
Для них потребуется модификация скрипта или использование других плагинов certbot.
---
**Дата обновления**: 29.10.2025
**Версия документа**: 1.0